Assembles a minimal managed-object type definition from resolved field
values -- just the type's own identity/metadata, no custom properties
(those are added afterward via the flat-property/relationship-property
paths, which already keep schema.order/schema.required in sync as
they go). Always writes a populated order array (['_id']) and a
mat-icon, even when fields.icon isn't given -- a type whose schema
lacks a populated order array has been observed to cause the v2
relationship-property API to fail later, so an icon is kept as a paired
default rather than risking that failure mode.
Cast via unknown: the real API doesn't require resourceCollection on
the whole-type schema (absent in every real fixture confirmed this
session), even though ManagedObjectSchema's type declares it required;
mat-icon/description aren't in ManagedObjectSchema's type at all
(frodo-lib only declares icon), same reason.
Assembles a minimal managed-object type definition from resolved field values -- just the type's own identity/metadata, no custom properties (those are added afterward via the flat-property/relationship-property paths, which already keep
schema.order/schema.requiredin sync as they go). Always writes a populatedorderarray (['_id']) and amat-icon, even whenfields.iconisn't given -- a type whose schema lacks a populatedorderarray has been observed to cause the v2 relationship-property API to fail later, so an icon is kept as a paired default rather than risking that failure mode.Cast via
unknown: the real API doesn't requireresourceCollectionon the whole-type schema (absent in every real fixture confirmed this session), even thoughManagedObjectSchema's type declares it required;mat-icon/descriptionaren't inManagedObjectSchema's type at all (frodo-lib only declaresicon), same reason.