{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/proactions-ai-kit-configuration-for-sections/_shared/latest--partial-blocks.schema.json",
  "title": "ProActions Blocks Definitions Schema",
  "description": "Reusable block definitions for scoped constants, vars, flows, and scripts.",
  "x-lintel": {
    "source": "https://raw.githubusercontent.com/em-al-wi/proactions-schema/main/schema/partial-blocks.schema.json",
    "sourceSha256": "3c03f85626935a7f9ce317480428369acdf64baf3a9bcd5c26cfecb6c0624f5f"
  },
  "type": "object",
  "properties": {
    "constants": {
      "type": "object",
      "description": "Static values accessible via scoped namespaces (global.constants.*, section.constants.*, local.constants.*, imports.<alias>.constants.*).",
      "additionalProperties": true
    },
    "vars": {
      "type": "object",
      "description": "Lazy template variables resolved at runtime from scoped namespaces.",
      "additionalProperties": {
        "type": "string"
      }
    },
    "flows": {
      "type": "object",
      "description": "Reusable flow definitions callable via CALL_FLOW/CALL_TEMPLATE ref.",
      "additionalProperties": {
        "type": "array",
        "items": {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/proactions-ai-kit-configuration-for-sections/_shared/latest--partial-step.schema.json"
        }
      }
    },
    "scripts": {
      "type": "object",
      "description": "Reusable scripts callable via SCRIPTING.scriptRef.",
      "additionalProperties": {
        "type": "string"
      }
    }
  },
  "additionalProperties": false
}
