ChatMessage.projectionGuarded constructor

ChatMessage.projectionGuarded({
  1. required ChatMessageRole role,
  2. required String text,
  3. DateTime? timestamp,
  4. required Map<String, Object?> metadata,
  5. required List<ChatInputOmission> omissions,
  6. required ChatInputBudget inputBudget,
})

Implementation

factory ChatMessage.projectionGuarded({
  required ChatMessageRole role,
  required String text,
  DateTime? timestamp,
  required Map<String, Object?> metadata,
  required List<acp.ChatInputOmission> omissions,
  required acp.ChatInputBudget inputBudget,
}) {
  inputBudget.validate();
  return ChatMessage._(
    role: role,
    text: text,
    timestamp: timestamp ?? DateTime.now(),
    metadata: metadata,
    omissions: List<acp.ChatInputOmission>.unmodifiable(omissions),
    maxOmissions: inputBudget.maxCollectionItems,
    inputBudget: inputBudget,
    frozen: false,
  );
}