createToolsPrompt method

  1. @visibleForTesting
String createToolsPrompt()

Creates tools prompt based on model type and tool choice. Made package-private for testing.

Implementation

@visibleForTesting
String createToolsPrompt() {
  if (tools.isEmpty) {
    return '';
  }

  // ToolChoice.none — don't inject tools prompt at all
  if (toolChoice == ToolChoice.none) {
    return '';
  }

  // Explicit routing by ModelType using Dart 3 switch expression
  return switch (modelType) {
    ModelType.functionGemma => _createFunctionGemmaToolsPrompt(),
    // All other models use JSON format
    _ => _createJsonToolsPrompt(),
  };
}