enqueue method

Future<String> enqueue({
  1. Map<String, dynamic> input = const {},
})

Enqueues the chain for execution.

Validates all task names and returns the chain ID.

Implementation

Future<String> enqueue({
  Map<String, dynamic> input = const {},
}) async {
  // Build map for platform
  final stepsMap = _steps.map((step) {
    if (step.taskNames != null) {
      return {
        'parallel': true,
        'names': step.taskNames,
      };
    } else {
      return {
        'parallel': false,
        'taskName': step.taskName,
      };
    }
  }).toList();

  // Validate all task names
  ChainResolver.validate(stepsMap, TaskRegistry.instance());

  // TODO: Call platform via TaskFlowPlatform.instance
  // For now, return a dummy ID
  return 'chain-${DateTime.now().millisecondsSinceEpoch}';
}