ChainContext constructor

ChainContext({
  1. Duration? timeout,
  2. Map<String, dynamic>? initialMetadata,
})

Shared execution context for chain steps that provides metadata storage and execution control capabilities.

Key features:

  • Type-safe metadata storage
  • Execution timeout control
  • Chain abortion mechanism
  • Cross-step communication

Example:

final context = ChainContext(
  timeout: Duration(seconds: 30),
  initialMetadata: {'feature_enabled': true},
);

// Store and retrieve metadata
context.addMetadata('key', 'value');
final value = context.getMetadata<String>('key');

// Control execution
context.shouldAbort = true;

Implementation

ChainContext({
  this.timeout,
  Map<String, dynamic>? initialMetadata,
}) : _metadata = initialMetadata ?? {};