checkPermissions method

  1. @override
Future<PermissionDecision> checkPermissions(
  1. Map<String, dynamic> input,
  2. ToolPermissionContext permContext
)
override

Check if this tool use is permitted. Returns a PermissionDecision. Override in subclasses for tool-specific permission logic.

Implementation

@override
Future<PermissionDecision> checkPermissions(
  Map<String, dynamic> input,
  ToolPermissionContext permContext,
) async {
  // Auto-allow reading configs.
  if (input['value'] == null) {
    return const AllowDecision(PermissionAllowDecision());
  }
  final setting = input['setting'] as String;
  final value = input['value'];
  return AskDecision(
    PermissionAskDecision(message: 'Set $setting to ${jsonEncode(value)}'),
  );
}