Fruitful Docs
Reference

JSON Schemas

Editor schemas and versioned A2UI catalog contracts.

Two JSON Schemas are published for editor validation and autocomplete:

  • https://fruitful.app/schemas/fruitful-package.schema.json for fruitful-package.json
  • https://fruitful.app/schemas/fruitful-binding.schema.json for binding.json

They are generated from the same Lexicons as the manifest reference and accept every committed first-party package while rejecting unknown keys. See Editor setup for how to use them.

A2UI catalogs

The website also includes standalone JSON Schema catalogs generated from Fruitful's canonical A2UI v0.9.1 validators:

CatalogComponentsArtifact URL
Basic v1Column, Divider, Row, Texthttps://fruitful.app/a2ui/catalogs/basic/v1/catalog.json
Social v1SocialPosthttps://fruitful.app/a2ui/catalogs/social/v1/catalog.json
Bundle v225 Bundle and layout componentshttps://fruitful.app/a2ui/catalogs/bundle/v2/catalog.json

These files become available at their advertised URLs after the website is deployed. The catalog ID and schema $id match that URL. Adding a component or changing its accepted behavior follows the existing catalog-version policy; publishing these files does not expand the supported vocabulary.

Use the v0.9.1 protocol's validation entry points: resolve its catalog.json placeholder to the exact selected artifact, then validate components through $defs/anyComponent and message theme data through $defs/theme. Each artifact bundles the common_types.json schema resource while preserving named ComponentId and ChildList references. Property validation alone does not check missing children, duplicate IDs, cycles, or the selected catalog identity; the host must retain those structural and identity checks.

All three catalogs currently reject supplied createSurface.theme data, including an empty object. Omitting theme remains valid. Fruitful's web design tokens are platform styling and do not change that message-level contract.

The pinned upstream v0.9.1 fixtures still use some v0_9 schema IDs and accept a v0.9 message alias; Fruitful requires v0.9.1. Upstream's inline Catalog schema in client capabilities also differs from its standalone catalog format. These artifacts target standalone validation, not inline catalog negotiation. They describe validation requirements, not downloadable UI implementations or complete native or third-party support.

On this page