/**
 * AUTO-GENERATED — DO NOT EDIT
 * 
 * Generated by: bun run scripts/sync-block-schema.ts
 * Source of truth: src/lib/block-reference.ts
 * 
 * Re-run after adding or modifying block types.
 */

export const BLOCK_CREATION_TOOLS = [
  {
    "type": "function",
    "function": {
      "name": "create_hero_block",
      "description": "Create a Hero section: Large banner section with title, subtitle, call-to-action buttons. Supports images, direct video, YouTube, and Vimeo backgrounds.",
      "parameters": {
        "type": "object",
        "properties": {
          "title": {
            "description": "Main headline",
            "type": "string"
          },
          "subtitle": {
            "description": "Supporting text below the title",
            "type": "string"
          },
          "backgroundType": {
            "description": "Background style",
            "type": "string",
            "enum": [
              "color",
              "image",
              "video"
            ]
          },
          "imageSrc": {
            "description": "Background image URL (when backgroundType is \"image\")",
            "type": "string"
          },
          "videoUrl": {
            "description": "Background video URL or YouTube/Vimeo URL (when backgroundType is \"video\")",
            "type": "string"
          },
          "videoType": {
            "description": "Video source type",
            "type": "string",
            "enum": [
              "direct",
              "youtube",
              "vimeo"
            ]
          },
          "heightMode": {
            "description": "Section height",
            "type": "string",
            "enum": [
              "viewport",
              "60vh",
              "auto"
            ]
          },
          "contentAlignment": {
            "description": "Content alignment",
            "type": "string",
            "enum": [
              "left",
              "center"
            ]
          },
          "textAlignment": {
            "description": "Text alignment",
            "type": "string",
            "enum": [
              "left",
              "center",
              "right"
            ]
          },
          "overlayOpacity": {
            "description": "Overlay opacity (0-100)",
            "type": "number"
          },
          "overlayColor": {
            "description": "Overlay color style",
            "type": "string",
            "enum": [
              "dark",
              "light",
              "primary"
            ]
          },
          "showVideoControls": {
            "description": "Show play/pause/mute controls for video",
            "type": "boolean"
          },
          "titleAnimation": {
            "description": "Title entrance animation",
            "type": "string",
            "enum": [
              "none",
              "fade-in",
              "slide-up"
            ]
          },
          "showScrollIndicator": {
            "description": "Show scroll down arrow",
            "type": "boolean"
          },
          "primaryButton": {
            "description": "Primary CTA button { text, url }",
            "type": "object"
          },
          "secondaryButton": {
            "description": "Secondary button { text, url }",
            "type": "object"
          }
        },
        "required": [
          "title"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_text_block",
      "description": "Create a Text section: Rich text content block for paragraphs, headings, lists, and formatted text.",
      "parameters": {
        "type": "object",
        "properties": {
          "content": {
            "description": "Rich text content in Tiptap format (Tiptap JSON: {\"type\":\"doc\",\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"...\"}]}]})",
            "type": "object"
          },
          "alignment": {
            "description": "Text alignment",
            "type": "string",
            "enum": [
              "left",
              "center",
              "right"
            ]
          },
          "maxWidth": {
            "description": "Content width",
            "type": "string",
            "enum": [
              "prose",
              "full"
            ]
          }
        },
        "required": [
          "content"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_quote_block",
      "description": "Create a Quote section: Highlighted quotation with optional attribution.",
      "parameters": {
        "type": "object",
        "properties": {
          "quote": {
            "description": "The quote text",
            "type": "string"
          },
          "author": {
            "description": "Quote author name",
            "type": "string"
          },
          "role": {
            "description": "Author role or title",
            "type": "string"
          },
          "variant": {
            "description": "Visual style",
            "type": "string",
            "enum": [
              "simple",
              "large",
              "card"
            ]
          }
        },
        "required": [
          "quote"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_cta_block",
      "description": "Create a Call to Action section: Prominent section encouraging users to take action.",
      "parameters": {
        "type": "object",
        "properties": {
          "title": {
            "description": "CTA headline",
            "type": "string"
          },
          "subtitle": {
            "description": "Supporting text",
            "type": "string"
          },
          "buttonText": {
            "description": "Button label",
            "type": "string"
          },
          "buttonUrl": {
            "description": "Button link URL",
            "type": "string"
          },
          "gradient": {
            "description": "Use gradient background",
            "type": "boolean"
          }
        },
        "required": [
          "title",
          "buttonText",
          "buttonUrl"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_features_block",
      "description": "Create a Features section: Grid of feature cards with icons, titles, and descriptions.",
      "parameters": {
        "type": "object",
        "properties": {
          "title": {
            "description": "Section title",
            "type": "string"
          },
          "subtitle": {
            "description": "Section subtitle",
            "type": "string"
          },
          "features": {
            "description": "Array of features [{ id, icon, title, description }]",
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "columns": {
            "description": "Number of columns",
            "type": "number"
          },
          "layout": {
            "description": "Layout style",
            "type": "string",
            "enum": [
              "grid",
              "list"
            ]
          },
          "variant": {
            "description": "Visual style",
            "type": "string",
            "enum": [
              "cards",
              "minimal",
              "centered"
            ]
          },
          "iconStyle": {
            "description": "Icon container style",
            "type": "string",
            "enum": [
              "circle",
              "square",
              "none"
            ]
          }
        },
        "required": [
          "features"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_stats_block",
      "description": "Create a Statistics section: Display key metrics and numbers.",
      "parameters": {
        "type": "object",
        "properties": {
          "title": {
            "description": "Section title",
            "type": "string"
          },
          "stats": {
            "description": "Array of stats [{ value, label, icon }]",
            "type": "array",
            "items": {
              "type": "object"
            }
          }
        },
        "required": [
          "stats"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_testimonials_block",
      "description": "Create a Testimonials section: Customer quotes and reviews.",
      "parameters": {
        "type": "object",
        "properties": {
          "title": {
            "description": "Section title",
            "type": "string"
          },
          "testimonials": {
            "description": "Array of testimonials [{ id, content, author, role, company, rating, avatar }]",
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "layout": {
            "description": "Display layout",
            "type": "string",
            "enum": [
              "carousel",
              "grid"
            ]
          },
          "columns": {
            "description": "Grid columns (when layout is grid)",
            "type": "number"
          },
          "showRating": {
            "description": "Show star ratings",
            "type": "boolean"
          },
          "showAvatar": {
            "description": "Show author avatars",
            "type": "boolean"
          },
          "variant": {
            "description": "Visual style",
            "type": "string",
            "enum": [
              "cards",
              "minimal",
              "bubbles"
            ]
          },
          "autoplay": {
            "description": "Auto-rotate carousel",
            "type": "boolean"
          },
          "autoplaySpeed": {
            "description": "Seconds between slides",
            "type": "number"
          }
        },
        "required": [
          "testimonials"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_team_block",
      "description": "Create a Team section: Team member grid with photos and bios.",
      "parameters": {
        "type": "object",
        "properties": {
          "title": {
            "description": "Section title",
            "type": "string"
          },
          "members": {
            "description": "Array of members [{ id, name, role, bio, image, linkedin, twitter }]",
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "columns": {
            "description": "Number of columns",
            "type": "number"
          },
          "variant": {
            "description": "Visual style",
            "type": "string",
            "enum": [
              "cards",
              "minimal"
            ]
          },
          "showRole": {
            "description": "Show member roles",
            "type": "boolean"
          },
          "showBio": {
            "description": "Show member bios",
            "type": "boolean"
          }
        },
        "required": [
          "members"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_logos_block",
      "description": "Create a Logos section: Partner or client logo showcase.",
      "parameters": {
        "type": "object",
        "properties": {
          "title": {
            "description": "Section title",
            "type": "string"
          },
          "logos": {
            "description": "Array of logos [{ id, name, logo }]",
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "columns": {
            "description": "Number of columns",
            "type": "number"
          },
          "layout": {
            "description": "Display layout",
            "type": "string",
            "enum": [
              "grid",
              "carousel"
            ]
          },
          "variant": {
            "description": "Color treatment",
            "type": "string",
            "enum": [
              "grayscale",
              "color"
            ]
          },
          "logoSize": {
            "description": "Logo size",
            "type": "string",
            "enum": [
              "sm",
              "md",
              "lg"
            ]
          }
        },
        "required": [
          "logos"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_timeline_block",
      "description": "Create a Timeline section: Step-by-step or chronological content.",
      "parameters": {
        "type": "object",
        "properties": {
          "title": {
            "description": "Section title",
            "type": "string"
          },
          "subtitle": {
            "description": "Section subtitle",
            "type": "string"
          },
          "steps": {
            "description": "Array of steps [{ id, icon, title, description, date }]",
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "variant": {
            "description": "Layout style",
            "type": "string",
            "enum": [
              "horizontal",
              "vertical",
              "alternating"
            ]
          },
          "showDates": {
            "description": "Show date/step labels",
            "type": "boolean"
          }
        },
        "required": [
          "steps"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_accordion_block",
      "description": "Create a Accordion section: Expandable FAQ or content sections.",
      "parameters": {
        "type": "object",
        "properties": {
          "title": {
            "description": "Section title",
            "type": "string"
          },
          "items": {
            "description": "Array of items [{ question, answer }]",
            "type": "array",
            "items": {
              "type": "object"
            }
          }
        },
        "required": [
          "items"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_image_block",
      "description": "Create a Image section: Single image with optional caption.",
      "parameters": {
        "type": "object",
        "properties": {
          "src": {
            "description": "Image URL",
            "type": "string"
          },
          "alt": {
            "description": "Alt text for accessibility",
            "type": "string"
          },
          "caption": {
            "description": "Optional caption",
            "type": "string"
          },
          "aspectRatio": {
            "description": "Image aspect ratio",
            "type": "string",
            "enum": [
              "16:9",
              "4:3",
              "1:1",
              "auto"
            ]
          },
          "size": {
            "description": "Image width",
            "type": "string",
            "enum": [
              "small",
              "medium",
              "large",
              "full"
            ]
          }
        },
        "required": [
          "src",
          "alt"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_gallery_block",
      "description": "Create a Gallery section: Grid of images.",
      "parameters": {
        "type": "object",
        "properties": {
          "title": {
            "description": "Section title",
            "type": "string"
          },
          "images": {
            "description": "Array of images [{ id, src, alt, caption }]",
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "columns": {
            "description": "Number of columns",
            "type": "number"
          },
          "gap": {
            "description": "Spacing between images",
            "type": "string",
            "enum": [
              "sm",
              "md",
              "lg"
            ]
          }
        },
        "required": [
          "images"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_youtube_block",
      "description": "Create a YouTube section: Embedded YouTube video.",
      "parameters": {
        "type": "object",
        "properties": {
          "videoId": {
            "description": "YouTube video ID (e.g., \"dQw4w9WgXcQ\")",
            "type": "string"
          },
          "title": {
            "description": "Video title for accessibility",
            "type": "string"
          },
          "aspectRatio": {
            "description": "Video aspect ratio",
            "type": "string",
            "enum": [
              "16:9",
              "4:3"
            ]
          }
        },
        "required": [
          "videoId"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_two_column_block",
      "description": "Create a Two Column section: Side-by-side content and image layout.",
      "parameters": {
        "type": "object",
        "properties": {
          "content": {
            "description": "Rich text content (Tiptap JSON: {\"type\":\"doc\",\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"...\"}]}]})",
            "type": "object"
          },
          "imageSrc": {
            "description": "Image URL",
            "type": "string"
          },
          "imageAlt": {
            "description": "Image alt text",
            "type": "string"
          },
          "imagePosition": {
            "description": "Image placement",
            "type": "string",
            "enum": [
              "left",
              "right"
            ]
          }
        },
        "required": [
          "content"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_separator_block",
      "description": "Create a Separator section: Visual divider between sections.",
      "parameters": {
        "type": "object",
        "properties": {
          "style": {
            "description": "Divider style",
            "type": "string",
            "enum": [
              "line",
              "dots",
              "gradient",
              "none"
            ]
          },
          "spacing": {
            "description": "Vertical spacing",
            "type": "string",
            "enum": [
              "sm",
              "md",
              "lg"
            ]
          }
        }
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_info_box_block",
      "description": "Create a Info Box section: Highlighted information box (tip, warning, etc.).",
      "parameters": {
        "type": "object",
        "properties": {
          "title": {
            "description": "Box title",
            "type": "string"
          },
          "content": {
            "description": "Box content (Tiptap JSON: {\"type\":\"doc\",\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"...\"}]}]})",
            "type": "object"
          },
          "variant": {
            "description": "Box style",
            "type": "string",
            "enum": [
              "info",
              "warning",
              "success",
              "error"
            ]
          }
        },
        "required": [
          "title"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_link_grid_block",
      "description": "Create a Link Grid section: Grid of linked cards.",
      "parameters": {
        "type": "object",
        "properties": {
          "title": {
            "description": "Section title",
            "type": "string"
          },
          "links": {
            "description": "Array of links [{ id, title, description, url, icon }]",
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "columns": {
            "description": "Number of columns",
            "type": "number"
          }
        },
        "required": [
          "links"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_form_block",
      "description": "Create a Form section: Contact or data collection form.",
      "parameters": {
        "type": "object",
        "properties": {
          "title": {
            "description": "Form title",
            "type": "string"
          },
          "fields": {
            "description": "Array of fields [{ id, type, label, required, placeholder }]",
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "submitButtonText": {
            "description": "Submit button label",
            "type": "string"
          },
          "successMessage": {
            "description": "Message shown after submission",
            "type": "string"
          }
        },
        "required": [
          "fields"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_chat_block",
      "description": "Create a Chat section: Embedded AI chat interface.",
      "parameters": {
        "type": "object",
        "properties": {
          "title": {
            "description": "Chat title",
            "type": "string"
          },
          "height": {
            "description": "Chat height",
            "type": "string",
            "enum": [
              "sm",
              "md",
              "lg"
            ]
          },
          "variant": {
            "description": "Display style",
            "type": "string",
            "enum": [
              "embedded",
              "card",
              "floating"
            ]
          },
          "showSidebar": {
            "description": "Show conversation sidebar",
            "type": "boolean"
          },
          "initialPrompt": {
            "description": "Initial bot message",
            "type": "string"
          }
        }
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_newsletter_block",
      "description": "Create a Newsletter section: Email signup form.",
      "parameters": {
        "type": "object",
        "properties": {
          "title": {
            "description": "Section title",
            "type": "string"
          },
          "description": {
            "description": "Description text",
            "type": "string"
          },
          "buttonText": {
            "description": "Submit button label",
            "type": "string"
          },
          "successMessage": {
            "description": "Success message",
            "type": "string"
          }
        }
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_map_block",
      "description": "Create a Map section: Embedded Google Maps.",
      "parameters": {
        "type": "object",
        "properties": {
          "address": {
            "description": "Location address",
            "type": "string"
          },
          "zoom": {
            "description": "Map zoom level",
            "type": "number"
          },
          "height": {
            "description": "Map height in pixels",
            "type": "number"
          },
          "showMarker": {
            "description": "Show location marker",
            "type": "boolean"
          }
        },
        "required": [
          "address"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_booking_block",
      "description": "Create a Booking section: Appointment booking form.",
      "parameters": {
        "type": "object",
        "properties": {
          "title": {
            "description": "Section title",
            "type": "string"
          },
          "description": {
            "description": "Description text",
            "type": "string"
          },
          "mode": {
            "description": "Booking mode",
            "type": "string",
            "enum": [
              "form",
              "calendar"
            ]
          },
          "submitButtonText": {
            "description": "Submit button label",
            "type": "string"
          },
          "successMessage": {
            "description": "Success message",
            "type": "string"
          },
          "showPhoneField": {
            "description": "Include phone field",
            "type": "boolean"
          },
          "showDatePicker": {
            "description": "Include date picker",
            "type": "boolean"
          }
        }
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_popup_block",
      "description": "Create a Popup section: Modal popup with content.",
      "parameters": {
        "type": "object",
        "properties": {
          "content": {
            "description": "Popup content (Tiptap JSON: {\"type\":\"doc\",\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"...\"}]}]})",
            "type": "object"
          },
          "trigger": {
            "description": "How to trigger",
            "type": "string",
            "enum": [
              "delay",
              "scroll",
              "exit"
            ]
          },
          "delay": {
            "description": "Delay in seconds (for delay trigger)",
            "type": "number"
          }
        },
        "required": [
          "content"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_pricing_block",
      "description": "Create a Pricing section: Pricing tier cards.",
      "parameters": {
        "type": "object",
        "properties": {
          "tiers": {
            "description": "Array of pricing tiers",
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "columns": {
            "description": "Number of columns",
            "type": "number"
          },
          "variant": {
            "description": "Visual style",
            "type": "string",
            "enum": [
              "cards",
              "minimal"
            ]
          }
        },
        "required": [
          "tiers"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_comparison_block",
      "description": "Create a Comparison section: Feature comparison table.",
      "parameters": {
        "type": "object",
        "properties": {
          "title": {
            "description": "Section title",
            "type": "string"
          },
          "products": {
            "description": "Products to compare [{ id, name, highlighted }]",
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "features": {
            "description": "Features to compare [{ id, name, values[] }]",
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "variant": {
            "description": "Table style",
            "type": "string",
            "enum": [
              "striped",
              "bordered"
            ]
          },
          "showPrices": {
            "description": "Show prices in header",
            "type": "boolean"
          },
          "showButtons": {
            "description": "Show CTA buttons",
            "type": "boolean"
          }
        },
        "required": [
          "products",
          "features"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_trust_bar_block",
      "description": "Create a Trust Bar section: Horizontal bar with trust signals like free shipping, returns policy, secure payment.",
      "parameters": {
        "type": "object",
        "properties": {
          "items": {
            "description": "Array of { icon, text } items. Icons: truck, rotate-ccw, shield-check, credit-card, clock, star, heart-handshake, award, leaf, zap, globe, lock",
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "variant": {
            "description": "Visual style",
            "type": "string",
            "enum": [
              "default",
              "bordered",
              "filled"
            ]
          },
          "size": {
            "description": "Size",
            "type": "string",
            "enum": [
              "sm",
              "md",
              "lg"
            ]
          },
          "columns": {
            "description": "Number of columns",
            "type": "number"
          }
        }
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_category_nav_block",
      "description": "Create a Category Navigation section: Visual tiles linking to product categories with images and names.",
      "parameters": {
        "type": "object",
        "properties": {
          "title": {
            "description": "Section title",
            "type": "string"
          },
          "columns": {
            "description": "Grid columns",
            "type": "number"
          },
          "variant": {
            "description": "Visual style",
            "type": "string",
            "enum": [
              "cards",
              "minimal",
              "overlay"
            ]
          },
          "showDescription": {
            "description": "Show category descriptions",
            "type": "boolean"
          },
          "linkBase": {
            "description": "Base URL path",
            "type": "string"
          }
        }
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_shipping_info_block",
      "description": "Create a Shipping Info section: Shipping, delivery, and returns information block.",
      "parameters": {
        "type": "object",
        "properties": {
          "title": {
            "description": "Section title",
            "type": "string"
          },
          "items": {
            "description": "Array of { icon, title, description } items",
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "variant": {
            "description": "Layout variant",
            "type": "string",
            "enum": [
              "list",
              "grid",
              "compact"
            ]
          }
        }
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_article_grid_block",
      "description": "Create a Article Grid section: Blog post or article grid.",
      "parameters": {
        "type": "object",
        "properties": {
          "title": {
            "description": "Section title",
            "type": "string"
          },
          "columns": {
            "description": "Number of columns",
            "type": "number"
          },
          "limit": {
            "description": "Max articles to show",
            "type": "number"
          },
          "category": {
            "description": "Filter by category slug",
            "type": "string"
          }
        }
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_announcement_bar_block",
      "description": "Create a Announcement Bar section: Sticky top banner for promotions, notices, or countdown timers.",
      "parameters": {
        "type": "object",
        "properties": {
          "message": {
            "description": "Announcement message",
            "type": "string"
          },
          "link": {
            "description": "Optional link URL",
            "type": "string"
          },
          "linkText": {
            "description": "Link text",
            "type": "string"
          },
          "variant": {
            "description": "Color variant",
            "type": "string",
            "enum": [
              "info",
              "success",
              "warning",
              "error"
            ]
          },
          "dismissable": {
            "description": "Allow user to dismiss",
            "type": "boolean"
          },
          "showCountdown": {
            "description": "Show countdown timer",
            "type": "boolean"
          },
          "countdownDate": {
            "description": "Countdown target date (ISO format)",
            "type": "string"
          }
        },
        "required": [
          "message"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_tabs_block",
      "description": "Create a Tabs section: Tabbed content sections for organized information.",
      "parameters": {
        "type": "object",
        "properties": {
          "title": {
            "description": "Section title",
            "type": "string"
          },
          "subtitle": {
            "description": "Section subtitle",
            "type": "string"
          },
          "tabs": {
            "description": "Array of tabs [{ id, title, icon, content }]",
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "orientation": {
            "description": "Tab orientation",
            "type": "string",
            "enum": [
              "horizontal",
              "vertical"
            ]
          },
          "variant": {
            "description": "Tab style",
            "type": "string",
            "enum": [
              "underline",
              "pills",
              "boxed"
            ]
          },
          "defaultTab": {
            "description": "ID of default active tab",
            "type": "string"
          }
        },
        "required": [
          "tabs"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_marquee_block",
      "description": "Create a Marquee section: Scrolling text or logo ticker.",
      "parameters": {
        "type": "object",
        "properties": {
          "items": {
            "description": "Array of items [{ id, text, icon }]",
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "speed": {
            "description": "Scroll speed",
            "type": "string",
            "enum": [
              "slow",
              "normal",
              "fast"
            ]
          },
          "direction": {
            "description": "Scroll direction",
            "type": "string",
            "enum": [
              "left",
              "right"
            ]
          },
          "pauseOnHover": {
            "description": "Pause on hover",
            "type": "boolean"
          },
          "separator": {
            "description": "Separator between items",
            "type": "string"
          },
          "variant": {
            "description": "Visual style",
            "type": "string",
            "enum": [
              "default",
              "gradient",
              "outlined"
            ]
          }
        },
        "required": [
          "items"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_embed_block",
      "description": "Create a Embed section: Embed external content (Vimeo, Spotify, custom iframes).",
      "parameters": {
        "type": "object",
        "properties": {
          "url": {
            "description": "URL to embed",
            "type": "string"
          },
          "title": {
            "description": "Title for accessibility",
            "type": "string"
          },
          "aspectRatio": {
            "description": "Aspect ratio",
            "type": "string",
            "enum": [
              "16:9",
              "4:3",
              "1:1",
              "9:16"
            ]
          },
          "maxWidth": {
            "description": "Maximum width",
            "type": "string",
            "enum": [
              "sm",
              "md",
              "lg",
              "full"
            ]
          },
          "variant": {
            "description": "Visual style",
            "type": "string",
            "enum": [
              "default",
              "rounded",
              "shadow"
            ]
          }
        },
        "required": [
          "url"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_lottie_block",
      "description": "Create a Lottie Animation section: Lightweight vector animations with interactive playback controls.",
      "parameters": {
        "type": "object",
        "properties": {
          "src": {
            "description": "URL to Lottie JSON animation file",
            "type": "string"
          },
          "autoplay": {
            "description": "Auto-play on load",
            "type": "boolean"
          },
          "loop": {
            "description": "Loop animation",
            "type": "boolean"
          },
          "speed": {
            "description": "Playback speed (0.25-2)",
            "type": "number"
          },
          "direction": {
            "description": "Play direction",
            "type": "string",
            "enum": [
              "forward",
              "reverse"
            ]
          },
          "playOn": {
            "description": "Trigger to start playing",
            "type": "string",
            "enum": [
              "load",
              "hover",
              "click",
              "scroll"
            ]
          },
          "hoverAction": {
            "description": "Action on hover",
            "type": "string",
            "enum": [
              "play",
              "pause",
              "reverse"
            ]
          },
          "size": {
            "description": "Animation size",
            "type": "string",
            "enum": [
              "sm",
              "md",
              "lg",
              "xl",
              "full"
            ]
          },
          "maxWidth": {
            "description": "Custom max width in pixels",
            "type": "number"
          },
          "aspectRatio": {
            "description": "Aspect ratio",
            "type": "string",
            "enum": [
              "auto",
              "1:1",
              "16:9",
              "4:3"
            ]
          },
          "alignment": {
            "description": "Horizontal alignment",
            "type": "string",
            "enum": [
              "left",
              "center",
              "right"
            ]
          },
          "variant": {
            "description": "Visual style",
            "type": "string",
            "enum": [
              "default",
              "card",
              "floating"
            ]
          },
          "backgroundColor": {
            "description": "Background color (leave empty for transparent)",
            "type": "string"
          },
          "alt": {
            "description": "Alt text for accessibility",
            "type": "string"
          },
          "caption": {
            "description": "Caption below animation",
            "type": "string"
          }
        },
        "required": [
          "src"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_table_block",
      "description": "Create a Table section: Data table with optional sticky header and hover effects.",
      "parameters": {
        "type": "object",
        "properties": {
          "title": {
            "description": "Table title",
            "type": "string"
          },
          "caption": {
            "description": "Table caption",
            "type": "string"
          },
          "columns": {
            "description": "Column definitions [{ id, header, align }]",
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "rows": {
            "description": "Row data [{ [columnId]: value }]",
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "variant": {
            "description": "Table style",
            "type": "string",
            "enum": [
              "default",
              "striped",
              "bordered",
              "minimal"
            ]
          },
          "size": {
            "description": "Cell padding",
            "type": "string",
            "enum": [
              "sm",
              "md",
              "lg"
            ]
          },
          "stickyHeader": {
            "description": "Sticky header on scroll",
            "type": "boolean"
          },
          "highlightOnHover": {
            "description": "Highlight rows on hover",
            "type": "boolean"
          }
        },
        "required": [
          "columns",
          "rows"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_countdown_block",
      "description": "Create a Countdown section: Countdown timer to a specific date.",
      "parameters": {
        "type": "object",
        "properties": {
          "title": {
            "description": "Section title",
            "type": "string"
          },
          "subtitle": {
            "description": "Section subtitle",
            "type": "string"
          },
          "targetDate": {
            "description": "Target date (ISO format)",
            "type": "string"
          },
          "expiredMessage": {
            "description": "Message when countdown expires",
            "type": "string"
          },
          "showDays": {
            "description": "Show days",
            "type": "boolean"
          },
          "showHours": {
            "description": "Show hours",
            "type": "boolean"
          },
          "showMinutes": {
            "description": "Show minutes",
            "type": "boolean"
          },
          "showSeconds": {
            "description": "Show seconds",
            "type": "boolean"
          },
          "variant": {
            "description": "Display style",
            "type": "string",
            "enum": [
              "default",
              "cards",
              "minimal",
              "circular"
            ]
          },
          "size": {
            "description": "Size",
            "type": "string",
            "enum": [
              "sm",
              "md",
              "lg"
            ]
          }
        },
        "required": [
          "targetDate"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_progress_block",
      "description": "Create a Progress section: Progress bars or circular indicators.",
      "parameters": {
        "type": "object",
        "properties": {
          "title": {
            "description": "Section title",
            "type": "string"
          },
          "subtitle": {
            "description": "Section subtitle",
            "type": "string"
          },
          "items": {
            "description": "Progress items [{ id, label, value, color, icon }]",
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "variant": {
            "description": "Display style",
            "type": "string",
            "enum": [
              "default",
              "circular",
              "minimal",
              "cards"
            ]
          },
          "size": {
            "description": "Size",
            "type": "string",
            "enum": [
              "sm",
              "md",
              "lg"
            ]
          },
          "showLabel": {
            "description": "Show labels",
            "type": "boolean"
          },
          "showPercentage": {
            "description": "Show percentage",
            "type": "boolean"
          },
          "animated": {
            "description": "Animate on scroll",
            "type": "boolean"
          }
        },
        "required": [
          "items"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_badge_block",
      "description": "Create a Badge section: Collection of badges, certifications, or partner logos.",
      "parameters": {
        "type": "object",
        "properties": {
          "title": {
            "description": "Section title",
            "type": "string"
          },
          "subtitle": {
            "description": "Section subtitle",
            "type": "string"
          },
          "badges": {
            "description": "Badge items [{ id, title, subtitle, icon, image, url }]",
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "variant": {
            "description": "Display style",
            "type": "string",
            "enum": [
              "default",
              "outlined",
              "filled"
            ]
          },
          "columns": {
            "description": "Number of columns",
            "type": "number"
          },
          "size": {
            "description": "Badge size",
            "type": "string",
            "enum": [
              "sm",
              "md",
              "lg"
            ]
          },
          "showTitle": {
            "description": "Show badge titles",
            "type": "boolean"
          },
          "grayscale": {
            "description": "Grayscale images",
            "type": "boolean"
          }
        },
        "required": [
          "badges"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_social_proof_block",
      "description": "Create a Social Proof section: Display social proof metrics, ratings, and live activity.",
      "parameters": {
        "type": "object",
        "properties": {
          "title": {
            "description": "Section title",
            "type": "string"
          },
          "subtitle": {
            "description": "Section subtitle",
            "type": "string"
          },
          "items": {
            "description": "Social proof items [{ type, label, value, rating, activity }]",
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "variant": {
            "description": "Display style",
            "type": "string",
            "enum": [
              "default",
              "cards",
              "minimal",
              "banner",
              "floating"
            ]
          },
          "layout": {
            "description": "Layout",
            "type": "string",
            "enum": [
              "horizontal",
              "vertical",
              "grid"
            ]
          },
          "size": {
            "description": "Size",
            "type": "string",
            "enum": [
              "sm",
              "md",
              "lg"
            ]
          },
          "animated": {
            "description": "Animate counters",
            "type": "boolean"
          },
          "showLiveIndicator": {
            "description": "Show live indicator",
            "type": "boolean"
          }
        },
        "required": [
          "items"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_notification_toast_block",
      "description": "Create a Notification Toast section: Animated notification popups for social proof or alerts.",
      "parameters": {
        "type": "object",
        "properties": {
          "notifications": {
            "description": "Notification items [{ type, icon, title, message, image, timestamp, location }]",
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "variant": {
            "description": "Display style",
            "type": "string",
            "enum": [
              "default",
              "minimal",
              "rounded"
            ]
          },
          "position": {
            "description": "Screen position",
            "type": "string",
            "enum": [
              "bottom-left",
              "bottom-right",
              "top-left",
              "top-right"
            ]
          },
          "displayDuration": {
            "description": "Display time in ms",
            "type": "number"
          },
          "delayBetween": {
            "description": "Delay between notifications in ms",
            "type": "number"
          },
          "initialDelay": {
            "description": "Initial delay in ms",
            "type": "number"
          },
          "maxWidth": {
            "description": "Max width",
            "type": "string",
            "enum": [
              "sm",
              "md",
              "lg"
            ]
          },
          "animationType": {
            "description": "Animation type",
            "type": "string",
            "enum": [
              "slide",
              "fade",
              "bounce"
            ]
          }
        },
        "required": [
          "notifications"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_floating_cta_block",
      "description": "Create a Floating CTA section: Sticky call-to-action that appears on scroll.",
      "parameters": {
        "type": "object",
        "properties": {
          "text": {
            "description": "CTA text",
            "type": "string"
          },
          "buttonText": {
            "description": "Button label",
            "type": "string"
          },
          "buttonUrl": {
            "description": "Button URL",
            "type": "string"
          },
          "secondaryText": {
            "description": "Secondary text",
            "type": "string"
          },
          "scrollThreshold": {
            "description": "Show after scroll percentage",
            "type": "number"
          },
          "variant": {
            "description": "Display style",
            "type": "string",
            "enum": [
              "bar",
              "card",
              "minimal",
              "pill"
            ]
          },
          "position": {
            "description": "Screen position",
            "type": "string",
            "enum": [
              "bottom",
              "top"
            ]
          },
          "size": {
            "description": "Size",
            "type": "string",
            "enum": [
              "sm",
              "md",
              "lg"
            ]
          },
          "hideOnScrollUp": {
            "description": "Hide when scrolling up",
            "type": "boolean"
          },
          "closeable": {
            "description": "Allow closing",
            "type": "boolean"
          },
          "closePersistent": {
            "description": "Remember closed state",
            "type": "boolean"
          }
        },
        "required": [
          "text",
          "buttonText",
          "buttonUrl"
        ]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_webinar_block",
      "description": "Create a Webinar section: Display upcoming and past webinars with registration and recording links.",
      "parameters": {
        "type": "object",
        "properties": {
          "title": {
            "description": "Section title",
            "type": "string"
          },
          "description": {
            "description": "Section description",
            "type": "string"
          },
          "maxItems": {
            "description": "Max webinars to show",
            "type": "number"
          },
          "showPast": {
            "description": "Show past webinars with recordings",
            "type": "boolean"
          },
          "variant": {
            "description": "Display style",
            "type": "string",
            "enum": [
              "default",
              "card",
              "minimal"
            ]
          }
        }
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "create_bento_grid_block",
      "description": "Create a Bento Grid section: Responsive masonry-style card grid with variable-span items. Great for showcasing features, services, or highlights with a visually varied layout.",
      "parameters": {
        "type": "object",
        "properties": {
          "title": {
            "description": "Section title",
            "type": "string"
          },
          "subtitle": {
            "description": "Section subtitle",
            "type": "string"
          },
          "eyebrow": {
            "description": "Small label displayed above the title",
            "type": "string"
          },
          "items": {
            "description": "Grid items [{ id, title, description?, icon?, span?, accentColor?, linkUrl?, linkLabel? }]. span: \"normal\" | \"wide\" | \"tall\" | \"large\"",
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "columns": {
            "description": "Number of columns (3 or 4)",
            "type": "number"
          },
          "gap": {
            "description": "Gap between items",
            "type": "string",
            "enum": [
              "sm",
              "md",
              "lg"
            ]
          },
          "variant": {
            "description": "Visual style",
            "type": "string",
            "enum": [
              "default",
              "glass",
              "bordered"
            ]
          }
        },
        "required": [
          "items"
        ]
      }
    }
  }
] as const;

/** Map tool call name back to block type */
export function toolNameToBlockType(toolName: string): string | null {
  if (!toolName.startsWith('create_') || !toolName.endsWith('_block')) return null;
  return toolName.slice(7, -6).replace(/_/g, '-');
}
