update_entity
Create a spatial entity or partially update an existing one in the world model; omit id to create, provide id to merge fields while preserving omitted values.
Instructions
Create or upsert one spatial entity (position, orientation, AABB, tags, properties, confidence). Manual authoring only. Omit id to create (ULID assigned). Provide id to update. Omitted fields are preserved; this is a partial merge, not a full replace. status defaults to active. confidence is 0.0–1.0 object-permanence. Does not ingest vision detections or apply action results. Returns {ok, entity_id, created:boolean, entity}. Use update_entity instead of ingest_observation when authoring entities directly rather than merging perception detections.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Optional entity ID (auto-generated ULID if omitted for creation) | |
| name | Yes | Human-readable name or label of the entity | |
| tags | No | Array of searchable string tags | |
| type | Yes | Categorical entity type | |
| status | No | Entity lifecycle status (default: active) | |
| project | No | Optional project identifier | |
| position | No | 3D world position coordinates | |
| velocity | No | 3D velocity vector (vx, vy, vz) for physical motion and predictive permanence | |
| parent_id | No | Optional parent entity ID for hierarchical containment or attachments | |
| region_id | No | Optional named region ID where this entity resides | |
| confidence | No | Object permanence confidence score from 0.0 to 1.0 (default: 1.0) | |
| properties | No | Arbitrary JSON key-value properties (physics, materials, interactive state) | |
| orientation | No | 3D Euler orientation angles in degrees | |
| bounding_box | No | AABB bounding volume size | |
| affordance_mask | No | Bitmask of physical interaction affordances (1=traversable, 2=occluder, 4=container, 8=interactable, 16=threat) |