inputSchema property

  1. @override
Map<String, dynamic> get inputSchema
override

JSON Schema for the tool's input parameters.

Implementation

@override
Map<String, dynamic> get inputSchema => {
  'type': 'object',
  'properties': {
    'action': {
      'type': 'string',
      'enum': [
        'click',
        'double_click',
        'type',
        'scroll',
        'screenshot',
        'key',
        'drag',
      ],
      'description': 'GUI action to perform',
    },
    'coordinates': {
      'type': 'array',
      'items': {'type': 'integer'},
      'description': '[x, y] pixel coordinates for click/drag',
    },
    'text': {'type': 'string', 'description': 'Text to type'},
    'key': {
      'type': 'string',
      'description': 'Key or shortcut to press (e.g. "Enter", "ctrl+c")',
    },
    'scroll_direction': {
      'type': 'string',
      'enum': ['up', 'down', 'left', 'right'],
      'description': 'Scroll direction',
    },
    'scroll_amount': {
      'type': 'integer',
      'description': 'Number of scroll ticks (default: 3)',
    },
  },
  'required': ['action'],
};