{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://agentroom.io/artag/esquema-v1.json",
  "title": "ARTag · versión 1",
  "description": "El archivo que una organización publica en https://<dominio>/.well-known/agentroom.json para activar su ARTwin en AgentRoom. Lo mínimo que prueba el dominio y nada que haya que proteger: ningún campo es un dato personal. Un archivo v1 verifica para siempre: una versión nueva solo agrega campos opcionales o canales, nunca retira ni vuelve obligatorio uno anterior. Claves desconocidas se ignoran. La misma clave se puede presentar por DNS: registro TXT en _agentroom.<dominio> con el valor agentroom-verificacion=<verificacion>.",
  "type": "object",
  "required": ["agentroom", "dominio", "verificacion"],
  "properties": {
    "agentroom": {
      "type": "string",
      "const": "1",
      "description": "Versión mayor del esquema, como cadena. Un verificador acepta las versiones que conoce y rechaza con motivo las que no."
    },
    "dominio": {
      "type": "string",
      "minLength": 3,
      "pattern": "^[a-z0-9][a-z0-9.-]*\\.[a-z]{2,}$",
      "description": "El dominio que el archivo reclama: minúsculas, sin protocolo, sin puerto ni ruta. Debe ser igual al dominio que se está verificando; un archivo copiado a otro dominio no prueba nada."
    },
    "verificacion": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{43}$",
      "description": "La clave de verificación del ARTag: 32 bytes aleatorios en base64url sin relleno. La emite AgentRoom, es única por dominio, se puede regenerar invalidando la anterior y no deriva de nada."
    },
    "artwin": {
      "type": "string",
      "format": "uri",
      "pattern": "^https://",
      "description": "URL absoluta https donde AgentRoom sirve el ARTwin. Informativa: no autoriza ni activa. Se omite mientras el servicio no esté activo."
    }
  },
  "additionalProperties": true,
  "examples": [
    {
      "agentroom": "1",
      "dominio": "ejemplo.cl",
      "verificacion": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
      "artwin": "https://agentroom.io/gemelo/ejemplo.cl"
    }
  ]
}
