toMessage method

Message toMessage()

Builds an immutable Message from the accumulated state.

Throws StateError if no message_start event has been received (i.e. id or model is null), or if usage is null.

Implementation

Message toMessage() {
  if (_id == null || _model == null) {
    throw StateError(
      'Cannot build Message: no message_start event received.',
    );
  }
  if (_usage == null) {
    throw StateError('Cannot build Message: no usage information available.');
  }
  return Message(
    id: _id!,
    model: _model!,
    role: _role ?? MessageRole.assistant,
    content: contentBlocks,
    stopReason: _stopReason,
    stopDetails: _stopDetails,
    stopSequence: _stopSequence,
    usage: _usage!,
    container: _container,
  );
}