compute method

  1. @override
String compute({
  1. required List<LLMMessage> messages,
  2. required List<Tool>? tools,
  3. required ModelConfig modelConfig,
  4. bool? jsonOutput,
  5. String? trialSalt,
})
override

Compute the hash for a request.

Implementation

@override
String compute({
  required List<LLMMessage> messages,
  required List<Tool>? tools,
  required ModelConfig modelConfig,
  bool? jsonOutput,
  String? trialSalt,
}) {
  final payload = {
    'messages': messages.map((m) => _stripped(m.toJson())).toList(),
    'tools': tools?.map((t) => t.toJson()).toList(),
    'model': modelConfig.toJson(),
    'jsonOutput': ?jsonOutput,
    'trialSalt': ?trialSalt,
  };
  final encoded = utf8.encode(_canonicalJson(payload));
  return sha256.convert(encoded).toString();
}