@expressive-ui/schema
v0.1.0
Published
Contrato Zod/JSON Schema dos componentes ExpressiveUI: validação de árvores de UI e tool definition para LLMs.
Downloads
232
Maintainers
Readme
@expressive-ui/schema
Contrato de dados dos componentes do ExpressiveUI, em Zod. É a mesma fonte para os tipos TypeScript, o JSON Schema, o validador de árvores de UI e a tool definition usada por LLMs (Prompt-to-UI).
Instalação
npm install @expressive-ui/schemaValidar uma árvore de UI
import { expressiveRegistry } from '@expressive-ui/schema';
const result = expressiveRegistry.validate({
type: 'ExpressiveCard',
props: { eyebrow: 'Usuários ativos', title: '2.840', icon: 'groups' },
});
if (result.ok) render(result.tree);
else console.error(result.issues); // [{ path, message }]O registry rejeita props desconhecidas, tipos inválidos, aninhamentos não permitidos e árvores acima dos limites de profundidade e de nós. Para montar um registry só com parte dos componentes, use createRegistry([...]).
Para LLMs
O pacote publica arquivos prontos em @expressive-ui/schema/json-schema/*:
| Arquivo | Conteúdo |
|---|---|
| render_ui.tool.json | Tool definition (name, description, input_schema) para tool use. |
| expressive-ui.schema.json | JSON Schema da árvore completa. |
| catalog.md | Catálogo de componentes e props em texto, para o prompt de sistema. |
Ações nunca são código: a IA envia { id, label } e o seu app resolve o id.
Licença
MIT
