WorkflowConfig.fromDefinition constructor

WorkflowConfig.fromDefinition(
  1. WorkflowDefinition definition, {
  2. Map<String, String>? environment,
})

Builds typed config from a parsed workflow definition.

Implementation

factory WorkflowConfig.fromDefinition(
  WorkflowDefinition definition, {
  Map<String, String>? environment,
}) {
  final workflowDirectory = p.dirname(p.absolute(definition.path));
  final env = environment ?? Platform.environment;
  final config = definition.config;

  return WorkflowConfig(
    tracker: TrackerWorkflowConfig.fromMap(
      _mapValue(config, 'tracker'),
      environment: env,
    ),
    polling: PollingWorkflowConfig.fromMap(_mapValue(config, 'polling')),
    workspace: WorkspaceWorkflowConfig.fromMap(
      _mapValue(config, 'workspace'),
      workflowDirectory: workflowDirectory,
      environment: env,
    ),
    hooks: HooksWorkflowConfig.fromMap(_mapValue(config, 'hooks')),
    agent: AgentWorkflowConfig.fromMap(_mapValue(config, 'agent')),
    codex: CodexWorkflowConfig.fromMap(_mapValue(config, 'codex')),
    server: ServerWorkflowConfig.fromMap(_mapValue(config, 'server')),
  );
}