toMessage method
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,
);
}