Workflow Config

Classes

class arshai.workflows.workflow_config.WorkflowConfig(debug_mode=False, **kwargs)[source]

Bases: IWorkflowConfig

Base implementation of workflow configuration.

This implementation provides a foundation for workflow configuration where: - The config creates and configures the workflow orchestrator - The config defines the workflow structure (nodes and edges) - The config provides routing logic for input - Components are injected directly rather than through Settings

__init__(debug_mode=False, **kwargs)[source]

Initialize workflow configuration.

Parameters:
  • debug_mode (bool) – Whether to enable debug mode for verbose logging

  • **kwargs (Any) – Additional configuration options that subclasses can use

Note

Subclasses should accept their required dependencies directly in their constructors rather than relying on a Settings object. This follows the three-layer architecture where developers have full control over component instantiation.

Example

class MyWorkflowConfig(WorkflowConfig):
def __init__(self, llm_client: ILLM, memory_manager: IMemoryManager, **kwargs):

super().__init__(**kwargs) self.llm_client = llm_client self.memory_manager = memory_manager

create_workflow()[source]

Create the workflow orchestrator (without configuration).

This method: 1. Creates a new workflow orchestrator 2. Returns the unconfigured orchestrator

Note: Call _configure_workflow(workflow) separately to configure it

Return type:

IWorkflowOrchestrator

Returns:

Unconfigured workflow orchestrator