changedInput schema / properties / ops / items / anyOf
Previous value: -[
- {
- "additionalProperties": false,
- "properties": {
- "add_domain": {
- "description": "Entity-type names to add to the relation's domain (source types)",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "add_range": {
- "description": "Entity-type names to add to the relation's range (target types)",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "op": {
- "const": "widen_relation",
- "type": "string"
- },
- "relation": {
- "description": "Relation to widen, by name (case-insensitive)",
- "type": "string"
- }
- },
- "required": [
- "op",
- "relation"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "name": {
- "description": "Display name of the new entity type (idempotent if it exists)",
- "type": "string"
- },
- "op": {
- "const": "add_entity_type",
- "type": "string"
- }
- },
- "required": [
- "op",
- "name"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "cardinality": {
- "description": "Defaults to many_to_many",
- "enum": [
- "one_to_one",
- "one_to_many",
- "many_to_one",
- "many_to_many"
- ],
- "type": "string"
- },
- "domain": {
- "description": "Entity-type names allowed as the source (domain); must already exist",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "inverse_name": {
- "description": "Optional inverse-relation display name, e.g. PHASE_OF (enables one-hop reverse traversal)",
- "type": "string"
- },
- "name": {
- "description": "Display name of the new relation, e.g. HAS_PHASE",
- "type": "string"
- },
- "op": {
- "const": "add_relation",
- "type": "string"
- },
- "range": {
- "description": "Entity-type names allowed as the target (range); must already exist",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "reducer": {
- "description": "State-reducer token, e.g. append_only (default), latest_wins",
- "type": "string"
- },
- "symmetric": {
- "type": "boolean"
- },
- "temporal_semantics": {
- "description": "Defaults to bitemporal",
- "enum": [
- "atemporal",
- "valid_time",
- "commit_time",
- "bitemporal"
- ],
- "type": "string"
- },
- "transitive": {
- "type": "boolean"
- }
- },
- "required": [
- "op",
- "name"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "name": {
- "description": "Display name of the new scalar property field, e.g. status (idempotent if it exists)",
- "type": "string"
- },
- "op": {
- "const": "add_property",
- "type": "string"
- },
- "required": {
- "description": "Advisory required flag (not enforced on commit)",
- "type": "boolean"
- },
- "value_type": {
- "description": "Scalar type; defaults to text. Lets a later lbb_commit set entity_properties[].field",
- "enum": [
- "bool",
- "i64",
- "f64",
- "date_time",
- "keyword",
- "text",
- "bytes"
- ],
- "type": "string"
- }
- },
- "required": [
- "op",
- "name"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "from": {
- "description": "Current entity-type name",
- "type": "string"
- },
- "op": {
- "const": "rename_entity_type",
- "type": "string"
- },
- "to": {
- "description": "New display name (stable id stays frozen; records keep resolving)",
- "type": "string"
- }
- },
- "required": [
- "op",
- "from",
- "to"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "from": {
- "description": "Current relation name",
- "type": "string"
- },
- "op": {
- "const": "rename_relation",
- "type": "string"
- },
- "to": {
- "description": "New display name (stable id stays frozen; edges keep resolving)",
- "type": "string"
- }
- },
- "required": [
- "op",
- "from",
- "to"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "inverse_name": {
- "description": "Inverse-relation display name, e.g. PHASE_OF (enables one-hop reverse traversal)",
- "type": "string"
- },
- "op": {
- "const": "set_relation_inverse",
- "type": "string"
- },
- "relation": {
- "description": "Relation to set the inverse on, by name",
- "type": "string"
- }
- },
- "required": [
- "op",
- "relation",
- "inverse_name"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "cardinality": {
- "enum": [
- "one_to_one",
- "one_to_many",
- "many_to_one",
- "many_to_many"
- ],
- "type": "string"
- },
- "op": {
- "const": "set_relation_cardinality",
- "type": "string"
- },
- "relation": {
- "description": "Relation to change, by name",
- "type": "string"
- }
- },
- "required": [
- "op",
- "relation",
- "cardinality"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "op": {
- "const": "narrow_relation",
- "type": "string"
- },
- "relation": {
- "description": "Relation to narrow, by name",
- "type": "string"
- },
- "remove_domain": {
- "description": "Entity-type names to remove from the relation's domain (subtractive)",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "remove_range": {
- "description": "Entity-type names to remove from the relation's range (subtractive)",
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "required": [
- "op",
- "relation"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "name": {
- "description": "Entity type to tombstone — kept readable for old records, rejected for new commits",
- "type": "string"
- },
- "op": {
- "const": "remove_entity_type",
- "type": "string"
- }
- },
- "required": [
- "op",
- "name"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "name": {
- "description": "Relation to tombstone — old edges stay readable, rejected for new commits",
- "type": "string"
- },
- "op": {
- "const": "remove_relation",
- "type": "string"
- }
- },
- "required": [
- "op",
- "name"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "properties": {
+ "entity_type": {
+ "type": "string"
+ },
+ "op": {
+ "const": "add_super_types",
+ "type": "string"
+ },
+ "super_types": {
+ "items": {
+ "type": "string"
+ },
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "op",
+ "entity_type",
+ "super_types"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "add_domain": {
+ "description": "Entity-type names to add to the relation's domain (source types)",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "add_range": {
+ "description": "Entity-type names to add to the relation's range (target types)",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "op": {
+ "const": "widen_relation",
+ "type": "string"
+ },
+ "relation": {
+ "description": "Relation to widen, by name (case-insensitive)",
+ "type": "string"
+ }
+ },
+ "required": [
+ "op",
+ "relation"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "name": {
+ "description": "Display name of the new entity type (idempotent if it exists)",
+ "type": "string"
+ },
+ "op": {
+ "const": "add_entity_type",
+ "type": "string"
+ }
+ },
+ "required": [
+ "op",
+ "name"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "cardinality": {
+ "description": "Defaults to many_to_many",
+ "enum": [
+ "one_to_one",
+ "one_to_many",
+ "many_to_one",
+ "many_to_many"
+ ],
+ "type": "string"
+ },
+ "domain": {
+ "description": "Entity-type names allowed as the source (domain); must already exist",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "inverse_name": {
+ "description": "Optional inverse-relation display name, e.g. PHASE_OF (enables one-hop reverse traversal)",
+ "type": "string"
+ },
+ "name": {
+ "description": "Display name of the new relation, e.g. HAS_PHASE",
+ "type": "string"
+ },
+ "op": {
+ "const": "add_relation",
+ "type": "string"
+ },
+ "range": {
+ "description": "Entity-type names allowed as the target (range); must already exist",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "reducer": {
+ "description": "State-reducer token, e.g. append_only (default), latest_wins",
+ "type": "string"
+ },
+ "symmetric": {
+ "type": "boolean"
+ },
+ "temporal_semantics": {
+ "description": "Defaults to bitemporal",
+ "enum": [
+ "atemporal",
+ "valid_time",
+ "commit_time",
+ "bitemporal"
+ ],
+ "type": "string"
+ },
+ "transitive": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "op",
+ "name"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "name": {
+ "description": "Display name of the new scalar property field, e.g. status (idempotent if it exists)",
+ "type": "string"
+ },
+ "op": {
+ "const": "add_property",
+ "type": "string"
+ },
+ "required": {
+ "description": "Advisory required flag (not enforced on commit)",
+ "type": "boolean"
+ },
+ "value_type": {
+ "description": "Scalar type; defaults to text. Lets a later lbb_commit set entity_properties[].field",
+ "enum": [
+ "bool",
+ "i64",
+ "f64",
+ "date_time",
+ "keyword",
+ "text",
+ "bytes"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "op",
+ "name"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "from": {
+ "description": "Current entity-type name",
+ "type": "string"
+ },
+ "op": {
+ "const": "rename_entity_type",
+ "type": "string"
+ },
+ "to": {
+ "description": "New display name (stable id stays frozen; records keep resolving)",
+ "type": "string"
+ }
+ },
+ "required": [
+ "op",
+ "from",
+ "to"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "from": {
+ "description": "Current relation name",
+ "type": "string"
+ },
+ "op": {
+ "const": "rename_relation",
+ "type": "string"
+ },
+ "to": {
+ "description": "New display name (stable id stays frozen; edges keep resolving)",
+ "type": "string"
+ }
+ },
+ "required": [
+ "op",
+ "from",
+ "to"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "inverse_name": {
+ "description": "Inverse-relation display name, e.g. PHASE_OF (enables one-hop reverse traversal)",
+ "type": "string"
+ },
+ "op": {
+ "const": "set_relation_inverse",
+ "type": "string"
+ },
+ "relation": {
+ "description": "Relation to set the inverse on, by name",
+ "type": "string"
+ }
+ },
+ "required": [
+ "op",
+ "relation",
+ "inverse_name"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "cardinality": {
+ "enum": [
+ "one_to_one",
+ "one_to_many",
+ "many_to_one",
+ "many_to_many"
+ ],
+ "type": "string"
+ },
+ "op": {
+ "const": "set_relation_cardinality",
+ "type": "string"
+ },
+ "relation": {
+ "description": "Relation to change, by name",
+ "type": "string"
+ }
+ },
+ "required": [
+ "op",
+ "relation",
+ "cardinality"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "op": {
+ "const": "narrow_relation",
+ "type": "string"
+ },
+ "relation": {
+ "description": "Relation to narrow, by name",
+ "type": "string"
+ },
+ "remove_domain": {
+ "description": "Entity-type names to remove from the relation's domain (subtractive)",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "remove_range": {
+ "description": "Entity-type names to remove from the relation's range (subtractive)",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "op",
+ "relation"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "name": {
+ "description": "Entity type to tombstone — kept readable for old records, rejected for new commits",
+ "type": "string"
+ },
+ "op": {
+ "const": "remove_entity_type",
+ "type": "string"
+ }
+ },
+ "required": [
+ "op",
+ "name"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "name": {
+ "description": "Relation to tombstone — old edges stay readable, rejected for new commits",
+ "type": "string"
+ },
+ "op": {
+ "const": "remove_relation",
+ "type": "string"
+ }
+ },
+ "required": [
+ "op",
+ "name"
+ ],
+ "type": "object"
+ }
+]