@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.
@@ -355,6 +355,23 @@ exports.createAccountRequestSchema = zod_1.z.object({
355
355
  bio: zod_1.z.string().trim().max(500).optional(),
356
356
  avatar: zod_1.z.string().optional(),
357
357
  description: zod_1.z.string().trim().max(1000).optional(),
358
+ /**
359
+ * A named color preset KEY (`"blue"`, `"mint"`, …), never a hex value.
360
+ *
361
+ * Here at CREATION for the reason `isPrivateAccount` is, in miniature: for a
362
+ * managed account the color is a visual identity, and an account that is
363
+ * discoverable without one and acquires it on a second request is a face that
364
+ * changes by itself. One statement, one row, born looking like what its owner
365
+ * chose.
366
+ *
367
+ * The VALUE is checked in the API rather than here. The vocabulary is
368
+ * `USER_COLOR_PRESETS`, which is declared next to the `users_color_check` CHECK
369
+ * that is rendered from it — pinning the list a second time in this package
370
+ * would be a second source of truth for what the database accepts, and the two
371
+ * would drift apart silently. What this shape does is keep an over-long or
372
+ * non-string value from reaching the service at all.
373
+ */
374
+ color: zod_1.z.string().trim().max(32).optional(),
358
375
  /** Ordered, PRIMARY FIRST — see rule 2 above {@link ACCOUNT_CATEGORY_IDS}. */
359
376
  accountCategories: exports.accountCategoriesSchema.optional(),
360
377
  /**