toolSchema property

Map<String, dynamic> get toolSchema

The tool the model is asked to call, as a JSON Schema.

Shared verbatim by both providers — only the envelope around it differs.

Implementation

static Map<String, dynamic> get toolSchema => {
      'type': 'object',
      'properties': {
        'command': {
          'type': 'string',
          'enum': ['run', 'validate', 'doctor'],
          'description':
              'run executes build/publish tasks; validate checks the '
                  'configuration without building; doctor checks the tools '
                  'and credentials on this machine.',
        },
        'operation': {
          'type': 'string',
          'description':
              'For `run` only. A task key (e.g. "android") to run every job '
                  'in that task, or a task.job key (e.g. "android.build") to '
                  'run one job. Omit to run every task. Must be one of the '
                  'keys listed in the project context.',
        },
        'dry_run': {
          'type': 'boolean',
          'description':
              'For `run` only. Resolve and print the commands without '
                  'building or uploading anything.',
        },
        'reason': {
          'type': 'string',
          'description':
              'One short sentence explaining why this command answers the '
                  'request. Shown to the user before it runs.',
        },
      },
      'required': ['command', 'reason'],
      'additionalProperties': false,
    };