@oxyhq/contracts 0.31.0 → 0.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -347,6 +347,23 @@ export const createAccountRequestSchema = z.object({
347
347
  bio: z.string().trim().max(500).optional(),
348
348
  avatar: z.string().optional(),
349
349
  description: z.string().trim().max(1000).optional(),
350
+ /**
351
+ * A named color preset KEY (`"blue"`, `"mint"`, …), never a hex value.
352
+ *
353
+ * Here at CREATION for the reason `isPrivateAccount` is, in miniature: for a
354
+ * managed account the color is a visual identity, and an account that is
355
+ * discoverable without one and acquires it on a second request is a face that
356
+ * changes by itself. One statement, one row, born looking like what its owner
357
+ * chose.
358
+ *
359
+ * The VALUE is checked in the API rather than here. The vocabulary is
360
+ * `USER_COLOR_PRESETS`, which is declared next to the `users_color_check` CHECK
361
+ * that is rendered from it — pinning the list a second time in this package
362
+ * would be a second source of truth for what the database accepts, and the two
363
+ * would drift apart silently. What this shape does is keep an over-long or
364
+ * non-string value from reaching the service at all.
365
+ */
366
+ color: z.string().trim().max(32).optional(),
350
367
  /** Ordered, PRIMARY FIRST — see rule 2 above {@link ACCOUNT_CATEGORY_IDS}. */
351
368
  accountCategories: accountCategoriesSchema.optional(),
352
369
  /**