Optional orchestratorAn optional unique identifier for this ToolOrchestrator instance. If not provided, one may be generated automatically (e.g., by the orchestrator's constructor). This ID is useful for logging, debugging, and potentially for managing multiple orchestrator instances in more complex or distributed setups.
Optional defaultDefault timeout in milliseconds (default: 30 seconds)
for a tool execution if the tool itself does not specify a more granular timeout or if the ToolExecutor
needs a fallback. (Note: Actual timeout enforcement is typically handled by the ToolExecutor or the tool implementation).
Optional maxMaximum number of tool calls that the orchestrator, or more likely
the underlying ToolExecutor, will attempt to process concurrently. This helps in managing system resources
and preventing overload from too many simultaneous tool executions. (Conceptual for orchestrator, executor enforces).
Optional logIf true (default), detailed information about tool calls (including requests, arguments, results, and any errors) will be logged by the orchestrator. This is highly beneficial for debugging, auditing tool usage, and monitoring system behavior.
Optional globalAn array of tool names (ITool.name) or tool IDs (ITool.id)
that are globally disabled. These tools will not be registered or, if already present, will not be
executed, irrespective of other permission settings. This provides a system-wide mechanism to quickly
disable problematic or deprecated tools.
Optional toolConfiguration settings that specifically govern the behavior of the internal tool registry, such as dynamic registration allowance.
Optional customA flexible object to accommodate any other custom
parameters or settings that specific ToolOrchestrator implementations or extensions might require.
This allows for extensibility without modifying the core interface.
ToolOrchestratorConfig
Description
Configuration options for the ToolOrchestrator. This interface allows for fine-tuning its operational parameters, default behaviors, logging levels, and integration points with other system components.