Optionaluri: stringCheck if the entity is active
This method checks the active status of the entity. Most entities in the system can be active or inactive, which affects their availability and usability in the platform.
True if the entity is active, false otherwise
Convert model instance to interface data
This method serializes the model instance to a plain object that matches the interface type. This is useful for:
The model data as a plain object matching the interface type
Convert model instance to API payload
This method creates a payload suitable for API requests by:
A clean object suitable for API requests
Update model data with new values
This method updates the model's data and instance properties with new values. It performs a shallow merge of the updates with existing data, allowing for partial updates of the model's properties.
Object containing properties to update
const user = new User({
email: 'old@example.com',
firstName: 'John'
});
// Update multiple properties
user.update({
email: 'new@example.com',
lastName: 'Doe'
});
// Save changes to API
await user.save();
This method only updates the local model instance. To persist changes to the API, call save after updating.
Save the model instance to the API
This method persists the current state of the model to the API using a PUT request. It requires the model to have an ID (existing instance). For new instances, use the collection's create method instead.
The method:
Promise resolving to the updated model data
Delete the model instance from the API
This method permanently deletes the model instance from the API and clears the local data. This operation cannot be undone.
The method:
Optionalparams: objectOptional query parameters for deletion (e.g., { delete: true, deleteS3: true })
Promise that resolves when deletion is successful
Basic deletion:
const user = await users.get({}, 'user-id');
if (user) {
await user.delete();
// User is now deleted and instance is cleared
}
Subscribe to live updates for this entity via the SSE relay.
Opens a Server-Sent Events connection to the Mosaia relay server
(mosaia-sse-relay-server) scoped to this specific document. The
relay watches the underlying MongoDB change stream and forwards every
update to handlers.onUpdate.
Requires the entity to have an id (must be saved first).
Lifecycle callbacks (onStart, onUpdate, onError, onClose).
A subscription handle. Call close() to disconnect.
Approve the plan
This method approves a plan that is in DRAFT status. The approval process creates tasks from the plan content. The mode parameter determines whether the plan is auto-executed after approval or requires manual review.
Approval options
Optionalmode?: "auto_execute" | "review"Approval mode: 'auto_execute' or 'review' (default: 'review')
Promise resolving to approval response data
Execute the plan
This method triggers plan execution for plans that are in APPROVED status. It sends the plan to the execution queue where tasks will be run. Optionally accepts a message that will be passed to the first eligible task.
Execution options
Optionalmessage?: { content: string; role: string }Optional message to pass to the first task
Promise resolving to the updated plan data
Plan class for managing task plans
This class represents a task plan in the Mosaia platform.