Tool constructor

Tool({
  1. required String name,
  2. String? title,
  3. String? description,
  4. required ObjectSchema inputSchema,
  5. ObjectSchema? outputSchema,
  6. ToolAnnotations? annotations,
  7. Meta? meta,
  8. List<Icon>? icons,
})

Implementation

factory Tool({
  required String name,
  String? title,
  String? description,
  required ObjectSchema inputSchema,
  // Only supported since version `ProtocolVersion.v2025_06_18`.
  ObjectSchema? outputSchema,
  // Only supported since version `ProtocolVersion.v2025_03_26`.
  ToolAnnotations? annotations,
  // Only supported since version `ProtocolVersion.v2025_03_26`.
  Meta? meta,
  List<Icon>? icons,
}) => Tool.fromMap({
  Keys.name: name,
  if (title != null) Keys.title: title,
  if (description != null) Keys.description: description,
  Keys.inputSchema: inputSchema,
  if (outputSchema != null) Keys.outputSchema: outputSchema,
  if (annotations != null) Keys.annotations: annotations,
  if (meta != null) Keys.meta: meta,
  if (icons != null) Keys.icons: icons,
});