@almadar/core 1.0.16 → 1.0.17

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.
@@ -1,4 +1,4 @@
1
- import { bp as SExpr, T as Entity, aZ as Page, O as OrbitalSchema, b$ as Trait } from '../schema-zGCZtr5W.js';
1
+ import { bp as SExpr, T as Entity, aZ as Page, O as OrbitalSchema, b$ as Trait } from '../schema-DYj-zJWb.js';
2
2
  import 'zod';
3
3
  import '@almadar/patterns';
4
4
 
@@ -3322,11 +3322,30 @@ var FieldTypeSchema = z.enum([
3322
3322
  "enum",
3323
3323
  "relation"
3324
3324
  ]);
3325
+ var RelationCardinalitySchema = z.enum([
3326
+ "one",
3327
+ "many",
3328
+ "one-to-many",
3329
+ "many-to-one",
3330
+ "many-to-many"
3331
+ ]);
3325
3332
  var RelationConfigSchema = z.object({
3326
3333
  entity: z.string().min(1, "Target entity is required"),
3327
3334
  field: z.string().optional(),
3328
- cardinality: z.enum(["one", "many"]).optional(),
3329
- onDelete: z.enum(["cascade", "nullify", "restrict"]).optional()
3335
+ cardinality: RelationCardinalitySchema.optional(),
3336
+ onDelete: z.enum(["cascade", "nullify", "restrict"]).optional(),
3337
+ // Legacy compatibility fields
3338
+ foreignKey: z.string().optional(),
3339
+ target: z.string().optional(),
3340
+ type: RelationCardinalitySchema.optional()
3341
+ }).transform((data) => {
3342
+ const normalized = {
3343
+ entity: data.entity || data.target || "",
3344
+ cardinality: data.cardinality || data.type,
3345
+ field: data.field,
3346
+ onDelete: data.onDelete
3347
+ };
3348
+ return normalized;
3330
3349
  });
3331
3350
  var FieldFormatSchema = z.enum([
3332
3351
  "email",