Catalogue operations

3 operations named catalog.*. Every one runs in a batch through apply_ops, dry_run_ops, the CLI or the admin.

Updated
OperationWhat it doesPermissionConfirmation
catalog.readRead the site registry: primitives, sections, design-system and behaviour components with their props, parts, states, slots and content models, and a summary of every insertable preset.site.readnone
catalog.indexList every node type this site can place, one entry each: its id (the node type of tree.commit inserts), kind, label, category, parts, states, slot names, what its children may be (accepts) and where it may sit (parentOneOf).site.readnone
catalog.entryRead one node type's whole registry entry by its id (box, ds.button, sticky-bar): its props schema with each field's help, parts, states, slots and content model.site.readnone

catalog.read

Read the site registry: primitives, sections, design-system and behaviour components with their props, parts, states, slots and content models, and a summary of every insertable preset.

permission: site.readreads onlyclass: read

Example input

{}

Input

The input is a record; see the schema below.

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output

FieldTypeRequiredNotes
themestringyes
entriesarray of objectyes
entries[].idstringyes
entries[].kindstringyesOne of "primitive", "ds", "behaviour", "section".
entries[].labelstringyesAt least 1 character. At most 80 characters.
entries[].keywordsarray of stringnoAt least 1 item. At most 16 items.
entries[].categorystringno
entries[].tagsarray of stringno
entries[].propsSchemaarray of objectyes
entries[].partsarray of stringyes
entries[].statesarray of stringyes
entries[].sceneStatesarray of stringno
entries[].childrenOnOpentrueno
entries[].slotsrecord of objectno
entries[].contentModelobjectyes
entries[].defaultMixinstringno
entries[].usesrecord of stringno
entries[].variantOfstringno
presetsarray of objectyes
presets[].sourcestringyesOne of "theme", "site".
presets[].idstringyes
presets[].kindstringyesOne of "section", "box", "element".
presets[].labelstringyesAt least 1 character. At most 80 characters.
presets[].keywordsarray of stringnoAt least 1 item. At most 16 items.
presets[].categorystringyes
presets[].descriptionstringnoAt most 280 characters.

Fields nested deeper are in the output schema that discover_operations answers with outputSchemas: true.

Try it

yarn splash catalog.read '{}' --dry-run

catalog.index

List every node type this site can place, one entry each: its id (the node type of tree.commit inserts), kind, label, category, parts, states, slot names, what its children may be (accepts) and where it may sit (parentOneOf). Read one type's props schema with catalog.entry; list the presets with preset.index.

permission: site.readreads onlyclass: read

Example input

{}

Input

The input is a record; see the schema below.

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output

FieldTypeRequiredNotes
themestringyes
entriesarray of objectyes
entries[].idstringyes
entries[].kindstringyes
entries[].labelstringyes
entries[].categorystringno
entries[].partsarray of stringyes
entries[].statesarray of stringyes
entries[].slotsarray of stringyes
entries[].acceptsarray of stringno
entries[].parentOneOfarray of stringno

Try it

yarn splash catalog.index '{}' --dry-run

catalog.entry

Read one node type's whole registry entry by its id (box, ds.button, sticky-bar): its props schema with each field's help, parts, states, slots and content model. Refused with 404 type_not_found for an id catalog.index does not list.

permission: site.readreads onlyclass: read

Example input

{
  "type": "ds.button"
}

Input

FieldTypeRequiredNotes
typestringyesAt least 1 character.

Output

FieldTypeRequiredNotes
idstringyes
kindstringyesOne of "primitive", "ds", "behaviour", "section".
labelstringyesAt least 1 character. At most 80 characters.
keywordsarray of stringnoAt least 1 item. At most 16 items.
categorystringno
tagsarray of stringno
propsSchemaarray of objectyes
propsSchema[].idstringyes
propsSchema[].typestringyesOne of "text", "richtext-single", "richtext-inline", "richtext-block", "select", "toggle", "number", "range", "url", "media", "date", "icon", "breakpoint", "menu", "form", "repeater", "object", "table".
propsSchema[].groupstringyesOne of "content", "behaviour".
propsSchema[].labelstringyesAt least 1 character. At most 80 characters.
propsSchema[].defaultany JSONno
propsSchema[].valuesarray of any JSONnoAt least 1 item.
propsSchema[].requiredbooleanno
propsSchema[].starterstringnoAt least 1 character. At most 80 characters.
propsSchema[].helpstringnoAt least 1 character. At most 240 characters.
propsSchema[].advancedbooleanno
propsSchema[].translatablefalseno
propsSchema[].picturefalseno
propsSchema[].formatstringnoOne of "css-name", "css-easing".
propsSchema[].fieldsarray of objectno
propsSchema[].maxintegernoAt least 1.
partsarray of stringyes
statesarray of stringyes
sceneStatesarray of stringno
childrenOnOpentrueno
slotsrecord of objectno
contentModelobjectyes
contentModel.childrenobjectno
contentModel.parentobjectno
defaultMixinstringno
usesrecord of stringno
variantOfstringno

Fields nested deeper are in the output schema that discover_operations answers with outputSchemas: true.

Try it

yarn splash catalog.entry '{"type":"ds.button"}' --dry-run

Generated from the operation registry and the MCP tool catalogue (source aab8b393002d6f5b).

Something wrong on this page? Write to docs@librettocms.com.

Libretto docs

Colophon. These docs are a Libretto site: 68 pages in two languages, 20 guide pages imported from Markdown and 41 reference pages generated from the operation registry. Set in Softcore, with code in IBM Plex Mono. Its outline:

/ Libretto docs /start Get started /start/request-access Request access /start/workspace Your workspace /start/first-site Your first site /start/invite-a-client Invite a client /start/connect-claude Connect Claude to Libretto /build Build /build/first-page Build a page /build/layers-and-canvas Layers and canvas /build/site-components Site components /design-system Design system /design-system/tokens Colours, space and themes /design-system/components Components and variants /design-system/fonts Typography and fonts /motion Motion /motion/scenes Scenes and recipes /motion/image-sequences Image sequences /motion/reduced-motion Reduced motion /publish Publish /publish/languages Site languages /publish/versions Publish and versions /publish/members-and-forms Members and forms /publish/domains Domains /handover Hand a site to a client /glossary Glossary /agents Agents and API /agents/mcp MCP server /agents/cli CLI /agents/batches Batches /agents/errors Errors and findings /agents/operations Operations /search Search