StructuredMessage.fromMap constructor

StructuredMessage.fromMap(
  1. Map<String, dynamic> map
)

Implementation

factory StructuredMessage.fromMap(Map<String, dynamic> map) {
  final type = map['type'] as String?;
  switch (type) {
    case 'shutdown_request':
      return ShutdownRequestMessage(reason: map['reason'] as String?);
    case 'shutdown_response':
      return ShutdownResponseMessage(
        requestId: map['request_id'] as String? ?? '',
        approve: map['approve'] as bool? ?? false,
        reason: map['reason'] as String?,
      );
    case 'plan_approval_response':
      return PlanApprovalResponseMessage(
        requestId: map['request_id'] as String? ?? '',
        approve: map['approve'] as bool? ?? false,
        feedback: map['feedback'] as String?,
      );
    default:
      throw ArgumentError('Unknown structured message type: $type');
  }
}