···11+import "@typelex/emitter";
22+33+namespace blue.recipes.actor.profile {
44+ @rec("literal:self")
55+ model Main {
66+ @maxGraphemes(64)
77+ @maxLength(640)
88+ @required displayName: string;
99+1010+ /** Free-form profile description text. */
1111+ @maxGraphemes(256)
1212+ @maxLength(2500)
1313+ description?: string;
1414+1515+ /** Free-form text to describe pronouns. */
1616+ @maxGraphemes(20)
1717+ @maxLength(200)
1818+ pronouns?: string;
1919+2020+ @format("url")
2121+ website?: string;
2222+2323+ /** Small image to be displayed on the profile. */
2424+ avatar?: Blob<#["image/png", "image/jpeg"], 1000000>; // 1mb image
2525+2626+ /** Larger header image to be displayed on the profile. */
2727+ banner?: Blob<#["image/png", "image/jpeg"], 1000000>; // 1mb image
2828+2929+ @format("datetime")
3030+ createdAt?: string;
3131+ }
3232+}
+2
libs/lexicons/lib/index.ts
···11+export * as BlueRecipesActorDefs from "./types/blue/recipes/actor/defs.js";
22+export * as BlueRecipesActorProfile from "./types/blue/recipes/actor/profile.js";
13export * as BlueRecipesFeedDefs from "./types/blue/recipes/feed/defs.js";
24export * as BlueRecipesFeedGetRecipe from "./types/blue/recipes/feed/getRecipe.js";
35export * as BlueRecipesFeedGetRecipes from "./types/blue/recipes/feed/getRecipes.js";