Integrating Drupal modules
The orchestration module currently integrates with the following service providers:
- AI Agents
- AI Function
- ECA - Event, Condition, Action
- Tool API
Any other module can be integrated as well by creating a service provider plugin. That plugin will be automatically discovered if it meets these criteria:
- Defined as a service with the
orchestration_services_providertag - The service implements the
\Drupal\orchestration\ServicesProviderInterfaceinterface
There are only 3 methods in the interface that need to be implemented:
getId()
Returns a unique ID for the service provider. It's recommended to use the module's machine name.
getAll()
Returns a list of all services this provider knows about. Each service is declared as an instance of the \Drupal\orchestration\Service class. Such services require the provider, an ID, a label, and the description. In addition to that, any number of \Drupal\orchestration\ServiceConfig objects can be added, each of which declaring the details for each expected or required configuration item.
execute()
This method gets called by the orchestration module together with the service and its configuration, so that the provider can execute the service.