listExecutors
codebolt.capability.listExecutors(): Promise<ListExecutorsResponse>
Lists all available capability executors that can run capabilities. Executors are the runtime environments for capabilities.
Returns
Promise<[ListExecutorsResponse](/docs/reference/type-reference/codeboltjs/interfaces/ListExecutorsResponse)>: A promise that resolves to a list of available executors.
Response Structure
Returns a ListExecutorsResponse with array of executor objects.
Response Properties:
type(string): Always "listExecutorsResponse"success(boolean): Operation success statusexecutors(CapabilityExecutor[]): Array of executorsid(string): Executor identifiername(string): Executor nametype(string): Executor type (docker, wasm, node, etc.)status(string): Executor status (active, inactive, etc.)capabilities(string[]): Supported capability typesresources(object, optional): Resource limits and availability
error(string, optional): Error details if failed
Examples
List All Executors
const result = await codebolt.capability.listExecutors();
if (result.success) {
console.log('Available executors:', result.executors);
result.executors.forEach(exec => {
console.log(`- ${exec.name} (${exec.type}): ${exec.status}`);
});
}
Find Active Executors
const executors = await codebolt.capability.listExecutors();
const active = executors.executors.filter(e => e.status === 'active');
console.log('Active executors:', active);
Check Executor Capabilities
const executors = await codebolt.capability.listExecutors();
const nodeExecutor = executors.executors.find(e => e.type === 'node');
console.log('Node executor capabilities:', nodeExecutor?.capabilities);
Common Use Cases
Executor Discovery
const findExecutor = async (type: string) => {
const result = await codebolt.capability.listExecutors();
return result.executors.find(e => e.type === type);
};
Resource Planning
const checkExecutorResources = async () => {
const executors = await codebolt.capability.listExecutors();
return executors.executors.map(e => ({
name: e.name,
resources: e.resources,
available: e.status === 'active'
}));
};
Notes
- Executors manage runtime environments
- Different capabilities may require different executors
- Executor status can change dynamically
- Use to understand available runtime options
- Consider executor capabilities when starting executions