toJsonSchema method

Map<String, dynamic> toJsonSchema()

Generate JSON-Schema for tool parameters.

Implementation

Map<String, dynamic> toJsonSchema() {
  final properties = <String, dynamic>{};
  final requiredParams = <String>[];

  for (final param in parameters) {
    properties[param.name] = _dartTypeToJsonSchema(param.type);
    if (!param.isOptional) requiredParams.add(param.name);
  }

  return {
    'type': 'object',
    'properties': properties,
    if (requiredParams.isNotEmpty) 'required': requiredParams,
  };
}