Tool constructor

Tool({
  1. String? description,
  2. required Map<String, Object?> inputSchema,
  3. required String name,
  4. ToolAnnotations? annotations,
  5. Map<String, Object?>? meta,
  6. Map<String, Object?>? outputSchema,
  7. String? title,
  8. ToolExecution? execution,
  9. List<McpIcon>? icons,
  10. Map<String, Object?>? extra,
})

Implementation

Tool({
  String? description,
  required Map<String, Object?> inputSchema,
  required String name,
  ToolAnnotations? annotations,
  Map<String, Object?>? meta,
  Map<String, Object?>? outputSchema,
  String? title,
  ToolExecution? execution,
  List<McpIcon>? icons,
  Map<String, Object?>? extra,
}) : super.build({
        ...?extra,
        if (description != null) 'description': $encode(description),
        'inputSchema': $encode(inputSchema),
        'name': $encode(name),
        if (annotations != null) 'annotations': $encode(annotations),
        if (meta != null) '_meta': $encode(meta),
        if (outputSchema != null) 'outputSchema': $encode(outputSchema),
        if (title != null) 'title': $encode(title),
        if (execution != null) 'execution': $encode(execution),
        if (icons != null) 'icons': $encode(icons),
      });