Creates a new App instance
Initializes an application with the provided configuration data and optional URI. The application serves as a container for organizing and managing AI-powered solutions.
Application configuration data including: - name: Application name - short_description: Brief description - long_description: Detailed description - external_app_url: External system URL - external_api_key: API key for external system - external_headers: Custom headers for external requests
Optionaluri: stringOptional URI path for the application endpoint
Basic configuration:
const app = new App({
name: 'Customer Portal',
short_description: 'AI customer service portal',
external_app_url: 'https://portal.example.com'
});
Full configuration:
const app = new App({
name: 'Enterprise Solution',
short_description: 'AI-powered enterprise tools',
long_description: 'Comprehensive suite of AI tools for enterprise use',
external_app_url: 'https://enterprise.example.com',
external_api_key: process.env.API_KEY,
external_headers: {
'X-Enterprise-ID': 'ent-123',
'Authorization': 'Bearer token'
}
}, '/enterprise/app');
Get the app's AI connectors
This getter provides access to the app's connectors through the AppConnectors collection. It enables management of all connectors within the app.
AppConnectors collection for managing connectors
Get the app's webhooks
This getter provides access to the app's webhooks through the AppWebhooks collection. It enables management of all webhooks within the app for receiving notifications about application events.
AppWebhooks collection for managing webhooks
Get the image functionality for this app
This getter provides access to the app's image operations through the Image class. It allows for image uploads and other image-related operations specific to this app.
A new Image instance configured for this app
Like or unlike this app
Toggles the like status of this app. If the app is already liked, it will be unliked, and vice versa.
Promise that resolves to the updated app instance
Check 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:
Promise that resolves when deletion is successful
App class for managing AI-powered applications
This class represents an application in the Mosaia platform, serving as a container and orchestrator for AI solutions. Apps provide the structure and configuration for deploying and managing AI capabilities.
Features:
Remarks
Applications are the foundational building blocks for deploying AI solutions. They provide:
Example
Basic app setup:
Example
External integration: