{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://agentruntime.io/schemas/tenant-data-logical/v1", "title": "AgentRuntime Tenant Data logical schema", "description": "Console Import JSON and database_packages.manifest.schema body. Apply via POST /v1/tenant-data/tenants/{tenant_id}/databases or schema/migrate operations.", "type": "object", "required": ["tables"], "additionalProperties": false, "properties": { "tables": { "type": "array", "minItems": 1, "items": { "$ref": "#/$defs/LogicalTable" } } }, "$defs": { "Identifier": { "type": "string", "pattern": "^[a-z][a-z0-9_]{0,62}$", "description": "Snake_case table or column name." }, "OnDuplicate": { "type": "string", "enum": ["fail", "ignore", "upsert"] }, "ColumnType": { "type": "string", "enum": [ "string", "short_text", "email", "integer", "number", "boolean", "date", "datetime", "uuid", "json", "vector" ] }, "ColumnReference": { "type": "object", "required": ["table"], "additionalProperties": false, "properties": { "table": { "$ref": "#/$defs/Identifier" }, "column": { "$ref": "#/$defs/Identifier" } } }, "LogicalColumn": { "type": "object", "required": ["name", "type"], "additionalProperties": false, "properties": { "name": { "$ref": "#/$defs/Identifier" }, "type": { "$ref": "#/$defs/ColumnType" }, "dimensions": { "type": "integer", "minimum": 1, "description": "Required when type is vector." }, "required": { "type": "boolean" }, "primary_key": { "type": "boolean" }, "auto_generate": { "type": "boolean" }, "unique": { "type": "boolean" }, "default": { "type": "string" }, "references": { "$ref": "#/$defs/ColumnReference" } } }, "LogicalTable": { "type": "object", "required": ["name", "columns"], "additionalProperties": false, "properties": { "name": { "$ref": "#/$defs/Identifier" }, "display_name": { "type": "string", "minLength": 1 }, "on_duplicate": { "$ref": "#/$defs/OnDuplicate" }, "conflict_columns": { "type": "array", "items": { "$ref": "#/$defs/Identifier" }, "minItems": 1 }, "upsert_columns": { "type": "array", "items": { "$ref": "#/$defs/Identifier" }, "minItems": 1 }, "columns": { "type": "array", "minItems": 1, "items": { "$ref": "#/$defs/LogicalColumn" } } } } } }