pub fn render_a2ui_tool(catalog: Option<&Catalog>) -> ToolDefinitionExpand description
The inner structured-output tool: emit the surface.
The schema restates the adjacency-list rules, because the model filling it in
is the one that has to get them right: a flat list, ids not nesting, exactly
one root.
Pass a catalog to name the permitted component types in the schema, which keeps the model inside them without relying on the prompt alone.