···1+import "@typelex/emitter";
2+3+namespace blue.recipes.actor.profile {
4+ @rec("literal:self")
5+ model Main {
6+ @maxGraphemes(64)
7+ @maxLength(640)
8+ @required displayName: string;
9+10+ /** Free-form profile description text. */
11+ @maxGraphemes(256)
12+ @maxLength(2500)
13+ description?: string;
14+15+ /** Free-form text to describe pronouns. */
16+ @maxGraphemes(20)
17+ @maxLength(200)
18+ pronouns?: string;
19+20+ @format("url")
21+ website?: string;
22+23+ /** Small image to be displayed on the profile. */
24+ avatar?: Blob<#["image/png", "image/jpeg"], 1000000>; // 1mb image
25+26+ /** Larger header image to be displayed on the profile. */
27+ banner?: Blob<#["image/png", "image/jpeg"], 1000000>; // 1mb image
28+29+ @format("datetime")
30+ createdAt?: string;
31+ }
32+}
+2
libs/lexicons/lib/index.ts
···001export * as BlueRecipesFeedDefs from "./types/blue/recipes/feed/defs.js";
2export * as BlueRecipesFeedGetRecipe from "./types/blue/recipes/feed/getRecipe.js";
3export * as BlueRecipesFeedGetRecipes from "./types/blue/recipes/feed/getRecipes.js";
···1+export * as BlueRecipesActorDefs from "./types/blue/recipes/actor/defs.js";
2+export * as BlueRecipesActorProfile from "./types/blue/recipes/actor/profile.js";
3export * as BlueRecipesFeedDefs from "./types/blue/recipes/feed/defs.js";
4export * as BlueRecipesFeedGetRecipe from "./types/blue/recipes/feed/getRecipe.js";
5export * as BlueRecipesFeedGetRecipes from "./types/blue/recipes/feed/getRecipes.js";