lexgen: LexBlob fields are always None, even when lexicon sets them.

did:plc:p5yjdr64h7mk5l3kh6oszryk opened this Jan 18, 2026 0 comments
did:plc:p5yjdr64h7mk5l3kh6oszryk opened Jan 18, 2026

I define some standard fields on my gif blobs in my lexicon as follows:

    "gif": {
      "type": "object",
      "properties": {
        "alt": {
          "type": "string"
        },
        "blob": {
          "type": "blob",
          "accept": ["image/gif"],
          "maxSize": 2000000
        }
      },
      "required": ["blob"]
    }

However when I check the types generated with jacquard-lexgen I see that all the fields are set to None:

map.insert(
    ::jacquard_common::smol_str::SmolStr::new_static("blob"),
    ::jacquard_lexicon::lexicon::LexObjectProperty::Blob(::jacquard_lexicon::lexicon::LexBlob {
        description: None,
        accept: None,
        max_size: None,
    }),
);

Ideally these would be set correctly as I intended to read these from my generated types to perform some additional validations. I'm not sure if this is user error or an issue with the generator

No activity yet.

cospan · schematic version control on atproto built on AT Protocol