Model
Schema
{
"$id": "https://schemas.highbyte.com/intelligencehub/model/4.5.0.json",
"$defs": {
"InternalTypeAttribute": {
"type": "object",
"properties": {
"array": {
"type": "boolean",
"description": "Whether the attribute is an array."
},
"defaultValue": {
"additionalProperties": true,
"description": "The default value for the attribute."
},
"description": {
"type": "string",
"description": "Description of the configuration element."
},
"groupAs": {
"type": "string",
"description": "Optional grouping identifier for organizing configuration elements into logical groups."
},
"id": {
"type": "string",
"description": "UUID for the configuration element. If not provided, a random UUID will be generated. This ID is used to track the element across changes and should be stable for the lifetime of the process."
},
"internalType": {
"anyOf": [
{
"allOf": [
{
"type": "object",
"description": "Represents an unconstrained Any type",
"properties": {
"variant": {
"const": "Any"
}
}
},
{
"description": "The built-in type of this attribute, such as String, Int32, or Enum."
}
]
},
{
"allOf": [
{
"type": "object",
"description": "Represents a Boolean type",
"properties": {
"variant": {
"const": "Boolean"
}
},
"required": [
"variant"
]
},
{
"description": "The built-in type of this attribute, such as String, Int32, or Enum."
}
]
},
{
"allOf": [
{
"type": "object",
"description": "Represents a File type",
"properties": {
"variant": {
"const": "File"
}
},
"required": [
"variant"
]
},
{
"description": "The built-in type of this attribute, such as String, Int32, or Enum."
}
]
},
{
"allOf": [
{
"type": "object",
"description": "Represents a String type",
"properties": {
"variant": {
"const": "String"
}
},
"required": [
"variant"
]
},
{
"description": "The built-in type of this attribute, such as String, Int32, or Enum."
}
]
},
{
"allOf": [
{
"type": "object",
"description": "Represents a numeric Int8 type",
"properties": {
"variant": {
"const": "Int8"
}
},
"required": [
"variant"
]
},
{
"description": "The built-in type of this attribute, such as String, Int32, or Enum."
}
]
},
{
"allOf": [
{
"type": "object",
"description": "Represents a numeric Int16 type",
"properties": {
"variant": {
"const": "Int16"
}
},
"required": [
"variant"
]
},
{
"description": "The built-in type of this attribute, such as String, Int32, or Enum."
}
]
},
{
"allOf": [
{
"type": "object",
"description": "Represents a numeric Int32 type",
"properties": {
"variant": {
"const": "Int32"
}
},
"required": [
"variant"
]
},
{
"description": "The built-in type of this attribute, such as String, Int32, or Enum."
}
]
},
{
"allOf": [
{
"type": "object",
"description": "Represents a numeric Int64 type",
"properties": {
"variant": {
"const": "Int64"
}
},
"required": [
"variant"
]
},
{
"description": "The built-in type of this attribute, such as String, Int32, or Enum."
}
]
},
{
"allOf": [
{
"type": "object",
"description": "Represents a numeric UInt8 type",
"properties": {
"variant": {
"const": "UInt8"
}
},
"required": [
"variant"
]
},
{
"description": "The built-in type of this attribute, such as String, Int32, or Enum."
}
]
},
{
"allOf": [
{
"type": "object",
"description": "Represents a numeric UInt16 type",
"properties": {
"variant": {
"const": "UInt16"
}
},
"required": [
"variant"
]
},
{
"description": "The built-in type of this attribute, such as String, Int32, or Enum."
}
]
},
{
"allOf": [
{
"type": "object",
"description": "Represents a numeric UInt32 type",
"properties": {
"variant": {
"const": "UInt32"
}
},
"required": [
"variant"
]
},
{
"description": "The built-in type of this attribute, such as String, Int32, or Enum."
}
]
},
{
"allOf": [
{
"type": "object",
"description": "Represents a numeric UInt64 type",
"properties": {
"variant": {
"const": "UInt64"
}
},
"required": [
"variant"
]
},
{
"description": "The built-in type of this attribute, such as String, Int32, or Enum."
}
]
},
{
"allOf": [
{
"type": "object",
"description": "Represents a numeric Real32 type",
"properties": {
"variant": {
"const": "Real32"
}
},
"required": [
"variant"
]
},
{
"description": "The built-in type of this attribute, such as String, Int32, or Enum."
}
]
},
{
"allOf": [
{
"type": "object",
"description": "Represents a numeric Real64 type",
"properties": {
"variant": {
"const": "Real64"
}
},
"required": [
"variant"
]
},
{
"description": "The built-in type of this attribute, such as String, Int32, or Enum."
}
]
},
{
"allOf": [
{
"type": "object",
"description": "Represents a DateTime type",
"properties": {
"variant": {
"const": "DateTime"
}
},
"required": [
"variant"
]
},
{
"description": "The built-in type of this attribute, such as String, Int32, or Enum."
}
]
},
{
"allOf": [
{
"type": "object",
"properties": {
"enumValues": {
"description": "Defines the allowed list of values for the enum",
"type": "array",
"items": {
"additionalProperties": true
}
},
"variant": {
"const": "Enum"
}
},
"required": [
"enumValues",
"variant"
],
"description": "Represents an Enum type restricted to a fixed set of values"
},
{
"description": "The built-in type of this attribute, such as String, Int32, or Enum."
}
]
}
]
},
"name": {
"type": "string",
"description": "Name of the configuration element."
},
"nullable": {
"type": "boolean",
"description": "Whether the attribute can be null."
},
"required": {
"type": "boolean",
"description": "Whether the attribute is required."
},
"attributeType": {
"const": "Internal"
}
},
"required": [
"array",
"internalType",
"nullable",
"required",
"attributeType"
],
"description": "Represents an attribute holding a built-in scalar type, such as String, Int32, or Enum."
},
"ModeledAttribute": {
"type": "object",
"properties": {
"array": {
"type": "boolean",
"description": "Whether the attribute is an array."
},
"defaultValue": {
"additionalProperties": true,
"description": "The default value for the attribute."
},
"description": {
"type": "string",
"description": "Description of the configuration element."
},
"groupAs": {
"type": "string",
"description": "Optional grouping identifier for organizing configuration elements into logical groups."
},
"id": {
"type": "string",
"description": "UUID for the configuration element. If not provided, a random UUID will be generated. This ID is used to track the element across changes and should be stable for the lifetime of the process."
},
"model": {
"type": "string",
"description": "The name of the referenced model for this attribute."
},
"name": {
"type": "string",
"description": "Name of the configuration element."
},
"nullable": {
"type": "boolean",
"description": "Whether the attribute can be null."
},
"required": {
"type": "boolean",
"description": "Whether the attribute is required."
},
"attributeType": {
"const": "Modeled"
}
},
"required": [
"array",
"model",
"nullable",
"required",
"attributeType"
],
"description": "Represents a modeled attribute, referencing another model by name."
},
"ObjectModelAttribute-1": {
"type": "object",
"properties": {
"array": {
"type": "boolean",
"description": "Whether the attribute is an array."
},
"attributes": {
"description": "The attributes that make up this nested object.",
"type": "array",
"items": {
"anyOf": [
{
"$ref": "#/$defs/ModeledAttribute"
},
{
"$ref": "#/$defs/InternalTypeAttribute"
},
{
"$ref": "#/$defs/ObjectModelAttribute-2"
}
]
}
},
"defaultValue": {
"additionalProperties": true,
"description": "The default value for the attribute."
},
"description": {
"type": "string",
"description": "Description of the configuration element."
},
"groupAs": {
"type": "string",
"description": "Optional grouping identifier for organizing configuration elements into logical groups."
},
"id": {
"type": "string",
"description": "UUID for the configuration element. If not provided, a random UUID will be generated. This ID is used to track the element across changes and should be stable for the lifetime of the process."
},
"name": {
"type": "string",
"description": "Name of the configuration element."
},
"nullable": {
"type": "boolean",
"description": "Whether the attribute can be null."
},
"required": {
"type": "boolean",
"description": "Whether the attribute is required."
}
},
"required": [
"array",
"attributes",
"nullable",
"required"
],
"description": "Represents an attribute defined as an inline nested object rather than a reference to a named model."
},
"ObjectModelAttribute-2": {
"$ref": "#/$defs/ObjectModelAttribute-1",
"type": "object",
"properties": {
"attributeType": {
"const": "Object"
}
},
"required": [
"attributeType"
]
}
},
"type": "object",
"properties": {
"attributes": {
"description": "The attributes defined for this model.",
"type": "array",
"items": {
"anyOf": [
{
"$ref": "#/$defs/ModeledAttribute"
},
{
"$ref": "#/$defs/InternalTypeAttribute"
},
{
"$ref": "#/$defs/ObjectModelAttribute-2"
}
]
}
},
"description": {
"type": "string",
"description": "Description of the configuration element."
},
"extendsModel": {
"type": "string",
"description": "The name of the model this one extends, if any."
},
"groupAs": {
"type": "string",
"description": "Optional grouping identifier for organizing configuration elements into logical groups."
},
"id": {
"type": "string",
"description": "UUID for the configuration element. If not provided, a random UUID will be generated. This ID is used to track the element across changes and should be stable for the lifetime of the process."
},
"modelVersion": {
"type": "string",
"description": "The version of this model."
},
"name": {
"type": "string",
"description": "Name of the configuration element."
},
"tags": {
"description": "Tags for organizing and filtering configuration elements. Contains a list of tag names.",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"attributes"
],
"description": "Represents a configured model, including its attributes and inheritance."
}