Манифест типа
Манифест типа (simai.composition.type-manifest) — общий контракт для
проверки, рендерера, редактора, документации и ИИ.
{
"schema": "simai.composition.type-manifest",
"schema_version": 1,
"type": "project.product-grid",
"version": "1.0.0",
"category": "component",
"mode": "composite",
"profiles": ["ui-layout"],
"data_schema": {"type": "object"},
"props_schema": {"type": "object"},
"presentation": {"views": ["default"], "presets": ["cards"], "modifiers": []},
"slots": {"items": {"min": 0, "max": 100}},
"renderer": {"kind": "registered", "name": "project.product-grid"},
"assets": ["project/product-grid"],
"capabilities": []
}
schema—simai.composition.type-manifestс"schema_version": 1; реестр типов принимает и прежнюю меткуsimai.composition.type-manifest.v1.category—layout,content,componentилиsmart; по ней слоты разрешают детей.mode—leafилиcomposite.profiles— в каких профилях документа тип допустим.data_schemaиprops_schema— закрытые схемы данных и настроек.presentation— закрытые списки видов, пресетов и модификаторов.renderer.kind—builtin(встроенный в Framework),registered(зарегистрирован в реестре) илиcustom-element(тег Smart-компонента).assets— ресурсы, которые нужно подключить вместе с типом.
Это учебный пример; настоящий манифест задаёт полные схемы данных и настроек и ограничения дочерних типов.