toolSchema property
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,
};